我想声明一个包含M 3乘3矩阵的列表。 如果我事先知道了数字M,那么我可以通过以下方式声明这样的列表:
elm <- matrix(NA,3,3)
## Say M = 7
myList <- list(elm,elm,elm,elm,elm,elm,elm)
如果M很大,这种方法会变得很麻烦。更糟糕的是,如果我事先不知道M的值,这种方法就不起作用了。如果我想声明一个长度为M的向量,我可以做到 主叫:
myVec <- rep(NA,M)
即使我事先不知道M的价值。是否有类似的方式来声明大小为M的列表?
答案 0 :(得分:39)
也许这个:
myls <- vector("list", length = S)
答案 1 :(得分:13)
尝试
mylist <- rep(list(elm),7)
,对于S = 3,给出
[[1]]
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
[3,] NA NA NA
[[2]]
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
[3,] NA NA NA
[[3]]
[,1] [,2] [,3]
[1,] NA NA NA
[2,] NA NA NA
[3,] NA NA NA
顺便说一句,identical(matrix(NA,3,3),matrix(,3,3))
为真,因为默认情况下矩阵初始化为NA
。请参阅?matrix
。