R使用循环填充列表列表会产生错误

R使用循环填充列表列表会产生错误,r,nested-lists,data-manipulation,R,Nested Lists,Data Manipulation,我正在从事一个项目,该项目要求我将大量数据填入列表中。我不断得到一个“下标超出范围”的错误。我明白这意味着什么,我也尝试过调试,但我看到的一切都告诉我它应该可以工作 我通过下面的简化示例重新创建了错误: tl <- list(list()) max <- 3 for (i in 1:max) { tl[[i]][[1]] <- 1 tl[[i]][[2]] <- 2 tl[[i]][[3]] <- 3 } tltl或者您可以尝试使用另一种方案:lapp

我正在从事一个项目,该项目要求我将大量数据填入列表中。我不断得到一个“下标超出范围”的错误。我明白这意味着什么,我也尝试过调试,但我看到的一切都告诉我它应该可以工作

我通过下面的简化示例重新创建了错误:

tl <- list(list())
max <- 3
for (i in 1:max) {
  tl[[i]][[1]] <- 1
  tl[[i]][[2]] <- 2
  tl[[i]][[3]] <- 3
}

tl
tl或者您可以尝试使用另一种方案:
lappy(1:3,函数(i)lappy(1:3,函数(j)j))
我试图修改代码以使用lappy而不是列表,但这在代码的另一部分产生了新问题。简言之,一旦创建并填充了列表列表,我必须将不同的1级列表与列表列表的元素进行比较。我可能最终会根据程序的发展重新讨论这个问题。这就成功了。我想我错过了一些简单的东西。感谢您将我引向正确的方向。
list(list())
确实创建了一个列表列表。长度为1的列表,其中一个条目为空列表。。问题基本上是
list()[[1]]
失败了。
tl <- list()
max <- 3
for (i in 1:max) {
  #create the sublists
  tl[[i]]<-list()
    tl[[i]][[1]] <- 1
    tl[[i]][[2]] <- 2
    tl[[i]][[3]] <- 3
}