R创建一个矩阵数组

时间:2013-02-20 20:21:49

标签: r data-structures

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

有什么建议吗?

2 个答案:

答案 0 :(得分:9)

我可能忽略了这一点,但不会:

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])}

答案 1 :(得分:2)

谨防术语:-)。正如CSGillespie指出的那样,您可以在R中定义一个N级数组。或者,您可以创建一个list变量,其中每个条目都包含一个矩阵。后者的优点是矩阵可以具有不同的尺寸。缺点是创建初始状态可能会更加痛苦。

E.g。

mat1 <- matrix(NA, 3,5)
mat2 <- matrix(NA, 4,7)
matlist <- list(mat1=mat1,mat2=mat2)