0

我有一个与 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>
 }
 }
}

你能给我这个问题的任何想法或解决方案吗?谢谢

4

1 回答 1

1

目前还不清楚究竟什么是必要的,但是可以像这样完成非原子对象的多维集合:

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]] <- ...
    }
  }
}
于 2016-09-10T14:45:19.550 回答