我在将数据附加到已经采用列表格式的列表时遇到问题。我有一个程序将在模拟循环期间导出结果对象。数据本身存储为矩阵列表。我的想法是将这些列表存储在一个列表中,然后将此列表列表保存为 R 对象以供以后分析,但是我在正确实现这一点时遇到了一些问题。我将展示我对小型抽象示例所做的事情,仅使用值而不是模拟中的矩阵数据:
假设我已经运行了 3 次模拟循环。在迭代期间,需要将结果列表收集到我将保存为 R 对象的一个列表列表中:
List 包含其他列表并被保存:
outlist1 <- list()
第一次迭代:
resultsa <- list(1,2,3,4,5)
outlist <- append(outlist1,resultsa)
第二次迭代:
resultsb <- list(6,7,8,9,10)
outlist <- append(outlist1,b)
第三次迭代:
resultsc <- list(11,12,13,14,15)
outlist <- list(outlist2,c)
但是,此解决方案不适用于以这种方式增长包含列表的列表,所需的结果是:
>outlist
[[1]]
[[1]][[1]]
[1] 1
[[1]][[2]]
[1] 2
[[1]][[3]]
[1] 3
[[1]][[4]]
[1] 4
[[1]][[5]]
[1] 5
[[2]]
[[2]][[1]]
[1] 6
[[2]][[2]]
[1] 7
[[2]][[3]]
[1] 8
[[2]][[4]]
[1] 9
[[2]][[5]]
[1] 10
[[3]]
[[3]][[1]]
[1] 11
[[3]][[2]]
[1] 12
[[3]][[3]]
[1] 13
[[3]][[4]]
[1] 14
[[3]][[5]]
[1] 15
然而,我得到的是:
> outlist3
[[1]]
[[1]][[1]]
[[1]][[1]][[1]]
[1] 1
[[1]][[1]][[2]]
[1] 2
[[1]][[1]][[3]]
[1] 3
[[1]][[1]][[4]]
[1] 4
[[1]][[1]][[5]]
[1] 5
[[1]][[2]]
[[1]][[2]][[1]]
[1] 6
[[1]][[2]][[2]]
[1] 7
[[1]][[2]][[3]]
[1] 8
[[1]][[2]][[4]]
[1] 9
[[1]][[2]][[5]]
[1] 10
如何增加列表,以使格式化的结果列表类似于所需的结果?如果我对这些列表进行进一步分析,我需要能够轻松访问这些元素。