最佳答案
我有问题追加数据到一个列表已经在一个列表格式。我有一个程序,可以在模拟循环期间导出结果对象。数据本身存储为矩阵列表。我的想法是将这些列表存储在一个列表中,然后将这个列表作为 R 对象保存,以便以后分析,但是我在正确实现这一点方面遇到了一些问题。我将用一个小的抽象例子来展示我所做的,只是使用了值而不是模拟中的矩阵数据:
假设我已经运行了3次模拟循环。 在迭代过程中,结果列表需要被收集到一个列表中,我将这个列表保存为 R 对象:
列表以包含其他列表并进行保存:
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
如何增长列表,使得格式化的结果列表与期望的结果相似?如果我对这些列表做进一步的分析,我需要能够轻松地访问这些元素。