在“ R”中创建一个矩阵,该矩阵中的每个元素都是另一个矩阵

时间:2018-11-29 16:32:57

标签: r

是否可以在R中创建矩阵,并且该矩阵中的每个元素都是另一个矩阵?我曾经在Python中这样做,但是当我这样做时

X <- matrix(rep(0,200),nrow=200,ncol=1)
for (i in 1:200){ X[i,] <-matrix(rep(0,32),nrow=8,ncol=4)}

它在R中不起作用。

谢谢!

2 个答案:

答案 0 :(得分:5)

您可以使用

X <- matrix(vector("list", 200))

这只是

X <- matrix(list()[rep(1, 200)], nrow = 200, ncol = 1)

使用

for (i in 1:200)
  X[i, ] <- list(matrix(rep(0,32), nrow = 8, ncol = 4))

for (i in 1:200)
  X[i, ][[1]] <- matrix(rep(0,32), nrow = 8, ncol = 4)

然后每个矩阵条目将是一个包含矩阵的列表。

答案 1 :(得分:3)

如果所有子矩阵都具有相同的形状,则可以使用数组:

X = array(0, dim = c(200, 8, 4))

这是一些尺寸

> dim(X)
[1] 200   8   4
> dim(X[1,,])
[1] 8 4