我有一个与list()相关的问题
我需要使用3个for循环来处理数据,就像这样
for(i in 1:10){ #it is number of data group
for(j in 1:5){ #it is number of sub-data group
for(k in 1:2){ #it is number of sub-data group
1.data process<br>
2.just want to make a list within information of i, j ,k
mylist[i][j][k]
#i tested some methods like this, but it does not work well<br>
}
}
}
对于这个问题,你能给我一些建议或解决方案吗?谢谢你 具体需要什么还不清楚,但是非原子对象的多维集合可以这样做:
lst <- lapply(1:10, function(i) {
lapply(1:5, function(k) {
lapply(1:2, function(k) {
# do something here
lm(mpg ~ cyl, data = mtcars)
})
})
})
现在访问[i,j,k]
第th元素,例如获取刚刚创建的线性模型的摘要:
i <- 3; j <- 2; k <- 1
summary(lst[[i]][[j]][[k]])
如果您绝对必须使用for
循环创建它(不推荐),建议您预先填充一个空结构并填充空白:
lst <- replicate(10, replicate(5, replicate(2, NULL, simplify = FALSE), simplify = FALSE), simplify = FALSE)
for (i in 1:10) {
for (j in 1:5) {
for (k in 1:2) {
lst[[i]][[j]][[k]] <- ...
}
}
}