在每个级别展平嵌套列表

时间:2017-12-10 22:51:16

标签: r list

我有一个看起来像这样的嵌套列表:

> spec

$Data[[1]]
$Data[[1]]$Nusers
[1] 5292

$Data[[2]]
$Data[[2]]$Nitems
[1] 4890

$Data[[3]]
$Data[[3]]$Nsessions
[1] 45618

...

$Parameters[[4]]
$Parameters[[4]]$ICgroups
$Parameters[[4]]$ICgroups[[1]]
$Parameters[[4]]$ICgroups[[1]]$group_1
$Parameters[[4]]$ICgroups[[1]]$group_1[[1]]
$Parameters[[4]]$ICgroups[[1]]$group_1[[1]]$ICidx
[1] "1-1"

$Parameters[[4]]$ICgroups[[1]]$group_1[[2]]
$Parameters[[4]]$ICgroups[[1]]$group_1[[2]]$ICeffects
[1] "1-5"

$Parameters[[4]]$ICgroups[[1]]$group_1[[3]]
$Parameters[[4]]$ICgroups[[1]]$group_1[[3]]$ICeffectsPrice
[1] "1-3"

$Parameters[[4]]$ICgroups[[2]]
$Parameters[[4]]$ICgroups[[2]]$group_2
$Parameters[[4]]$ICgroups[[2]]$group_2[[1]]
$Parameters[[4]]$ICgroups[[2]]$group_2[[1]]$ICidx
[1] "2-173"

$Parameters[[4]]$ICgroups[[2]]$group_2[[2]]
$Parameters[[4]]$ICgroups[[2]]$group_2[[2]]$ICeffects
[1] "6-10"

$Parameters[[4]]$ICgroups[[2]]$group_2[[3]]
$Parameters[[4]]$ICgroups[[2]]$group_2[[3]]$ICeffectsPrice
[1] "4-6"

我想在每个级别压缩此列表,以便我可以访问例如spec$Parameters$ICgroups$group_1$ICidx但我的purrr fu让我失望。

1 个答案:

答案 0 :(得分:1)

如何将plyr::llplyunlist一起使用?

我正在使用lst从我的解决方案your previous post

require(plyr);
llply(lst, unlist)
#$Data
#           datadir             Nusers
#"/data/2017-11-22"             "5292"
#
#$Parameters
#                outdir                      K                     IC
#"/data/2017-11-22/out"                   "20"                  "179"
#      ICgroups.group 1     ICgroups.ICeffects       ICgroups.group 2
#                 "1-1"                  "1-5"                "2-173"
#    ICgroups.ICeffects       ICgroups.group 3     ICgroups.ICeffects
#                "6-10"              "175-179"                "11-15"