如何通过for循环将矩阵的值分配给数组
Posted
技术标签:
【中文标题】如何通过for循环将矩阵的值分配给数组【英文标题】:how to assign the value of the matrix to the array through a for loop 【发布时间】:2022-01-05 16:57:17 【问题描述】:我正在尝试创建一个具有 3 个维度、2 x 2 x 4 的数组。我想将矩阵重复 4 次以构建矩阵。很简单,但到目前为止还没有工作......这是我的代码:
m <- array(0,c(2,2,4))
for (i in 4)
m[,,i] <- array(1:4,c(2,2))
结果:
, , 1
[,1] [,2]
[1,] 0 0
[2,] 0 0
, , 2
[,1] [,2]
[1,] 0 0
[2,] 0 0
, , 3
[,1] [,2]
[1,] 0 0
[2,] 0 0
, , 4
[,1] [,2]
[1,] 1 3
[2,] 2 4
最后一次迭代的预期结果:
, , 1
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , 2
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , 3
[,1] [,2]
[1,] 1 4
[2,] 2 3
, , 4
[,1] [,2]
[1,] 1 3
[2,] 2 4
【问题讨论】:
(i in 4)
只循环 4 次。你想要(i in 1:4)
也可以使用 []
@Adam 哦,谢谢,我明白了。
【参考方案1】:
您不需要循环来执行此操作。
array
回收它的输入,所以你可以这样做:
start_matrix <- matrix(1:4, 2, 2)
array(start_matrix, dim = c(2,2,4))
【讨论】:
以上是关于如何通过for循环将矩阵的值分配给数组的主要内容,如果未能解决你的问题,请参考以下文章