我正在评估模拟的性能,该模拟返回每个代表的性能统计列表 . 目前,它返回以下嵌套列表的更复杂版本:
fakeList = list()
fakeList$group1$stat1 = c("var1" = .3, "var2" = .2)
fakeList$group1$stat2 = c("var1" = .1, "var2" = .3)
fakeList$group2$stat1 = c("var3" = .7)
fakeList$group2$stat3 = c(TRUE)
fakeList
$group1
$group1$stat1
var1 var2
0.3 0.2
$group1$stat2
var1 var2
0.1 0.3
$group2
$group2$stat1
var3
0.7
$group2$stat3
[1] TRUE
其中 type1
和 type2
是我的模拟数据集中的不同类型的变量(例如,二进制和正常), stat1
, stat2
和 stat3
是各种性能统计信息 .
我想将以下新条目添加到列表中作为列表中的另一个“行”:
newEntry = list()
newEntry$group1$stat1 = c("var1" = .3, "var2" = .4)
newEntry$group1$stat2 = c("var1" = .2, "var2" = .1)
newEntry$group2$stat1 = c("var3" = .9)
newEntry$group2$stat3 = c(FALSE)
newEntry
$group1
$group1$stat1
var1 var2
0.3 0.4
$group1$stat2
var1 var2
0.2 0.1
$group2
$group2$stat1
var3
0.9
$group2$stat3
[1] FALSE
我尝试了 append()
和 c()
,但这些只是将新条目添加到 fakeList
的末尾,而不是在 fakeList
的相应列表中添加新的"rows" .
Is there a simple, efficient way to do this? Or (I suspect this is the case) should I be using a different data structure entirely? 我的最终目标是循环模拟,每次都为每个性能统计数据添加一个新条目 . 然后,我将计算所有模拟中每个性能统计量的均值,分别绘制不同的组和统计数据 . 出于这个原因,我喜欢列表与数据框或矩阵的层次结构 .
1 回答
试试这个,这将
Map
每个list
的每个组件依次互相给你: