8

我想以这样的方式创建一个矩阵数组,即我首先创建一个具有 NA 值的 k 矩阵数组,然后循环 k 并通过数组更新每个第 k 个矩阵。

有什么建议么?

4

2 回答 2

11

我可能错过了重点,但不会:

k = 2; n=3; m = 4
array(NA, c(n,m,k))

, , 1

     [,1] [,2] [,3] [,4]
[1,]   NA   NA   NA   NA
[2,]   NA   NA   NA   NA
[3,]   NA   NA   NA   NA

, , 2

     [,1] [,2] [,3] [,4]
[1,]   NA   NA   NA   NA
[2,]   NA   NA   NA   NA
[3,]   NA   NA   NA   NA

给你你想要的?然后你可以正常循环:

R> for(k in 1:2){print(a[,,k])}
于 2013-02-20T20:31:34.610 回答
2

当心术语:-)。正如 CSGillespie 指出的那样,您可以在R. 或者,您可以创建一个list变量,其中的每个条目都包含一个矩阵。后者的优点是矩阵可以具有不同的大小。缺点是创建初始状态可能会更加痛苦。

例如

mat1 <- matrix(NA, 3,5)
mat2 <- matrix(NA, 4,7)
matlist <- list(mat1=mat1,mat2=mat2)
于 2013-02-20T21:49:35.660 回答