我有一个嵌套列表(FCdat.pp.con[[x]][[y]]
),其中单独的列包含矩阵的值(对于每个x和嵌套的y)。现在我想通过写入数据帧来制作矩阵。
但是,我没有成功地在double for循环中为矩阵指定正确的名称。目前,我只是成功制作了有关“x”信息的矩阵,但没有关于“y”的信息。请帮助我或建议另一种方法来做到这一点。
for (x in 1:36){
for (y in 1:5){
cells <- c(0,
FCdat.pp.con[[x]][[y]]$A12,
FCdat.pp.con[[x]][[y]]$A13,
FCdat.pp.con[[x]][[y]]$A14,
FCdat.pp.con[[x]][[y]]$A21,0,
FCdat.pp.con[[x]][[y]]$A23,
FCdat.pp.con[[x]][[y]]$A24,
FCdat.pp.con[[x]][[y]]$A31,
FCdat.pp.con[[x]][[y]]$A32,
0,
FCdat.pp.con[[x]][[y]]$A34,
FCdat.pp.con[[x]][[y]]$A41,
FCdat.pp.con[[x]][[y]]$A42,
FCdat.pp.con[[x]][[y]]$A43,
0)
rnames <- c("ALG1","ALG2","ALG3","ALG4")
cnames <- c("ALG1","ALG2","ALG3","ALG4")
Ind.matr <- t(matrix(cells, nrow=4, ncol = 4))
dimnames(Ind.matr)=list(rnames, cnames)
assign(paste0("Indmatr", x), Ind.matr)
}
}
答案 0 :(得分:0)
在循环开始之前添加此项:result <- lapply(1:36, function(.)vector("list",5))
然后将assign(paste0("Indmatr", x), Ind.matr)
替换为result[[x]][[y]] <- Ind.matr
。