我想以这样的方式创建一个矩阵数组,即我首先创建一个具有 NA 值的 k 矩阵数组,然后循环 k 并通过数组更新每个第 k 个矩阵。
有什么建议么?
我可能错过了重点,但不会:
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])}
当心术语:-)。正如 CSGillespie 指出的那样,您可以在R
. 或者,您可以创建一个list
变量,其中的每个条目都包含一个矩阵。后者的优点是矩阵可以具有不同的大小。缺点是创建初始状态可能会更加痛苦。
例如
mat1 <- matrix(NA, 3,5)
mat2 <- matrix(NA, 4,7)
matlist <- list(mat1=mat1,mat2=mat2)