在R中创建多个相同(相同维度)矩阵的列表

在R中创建多个相同(相同维度)矩阵的列表,r,list,matrix,paste,dimensions,R,List,Matrix,Paste,Dimensions,我正在创建N个大小相同(cxr)的矩阵(M1,M2,…Mn),并将它们存储在列表中 我的代码如下: C=2 #columns R=3 #rows N=6 #number of matrices M1 <- matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C))) M2 <- matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round"

我正在创建N个大小相同(cxr)的矩阵(M1,M2,…Mn),并将它们存储在列表中

我的代码如下:

C=2 #columns
R=3 #rows
N=6 #number of matrices
M1 <- matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C)))
M2 <- matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C)))
M3 <- matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C)))
M4 <- matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C)))
M5 <- matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C)))
M6 <- matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C)))
L <- mget(paste0("M", 1:N)) #list of matrices
L

有没有更有效的方法来建立这样一个列表呢?

尝试使用
lappy

 setNames(lapply(1:6, function(i) 
       matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),
                         paste("Player", 1:C)))), paste0("M", 1:6))
那么:

L <- replicate(10, matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C))), simplify=FALSE)
names(L) <- paste0("M", 1:10)

是的,你可以使用
replicate
这些都是很好的答案!尽管这三个代码(包括@akrun的代码)都能很好地完成这项工作,但您最后的修改是最直观的。
L <- replicate(10, matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C))), simplify=FALSE)
names(L) <- paste0("M", 1:10)
setNames(replicate(10, matrix(0, ncol=C, nrow=R, dimnames=list(paste("Round",1:R),paste("Player", 1:C))), simplify=FALSE), 
paste0("M", 1:10))