【发布时间】:2020-07-02 11:59:34
【问题描述】:
第 1 级的列表“l_start”是一个命名列表,它本身在第 2 级嵌套命名列表(“l1”,“l1a”), 在第 3 层依次包含 2-3 个数据帧(a、b 和可能的 c)。
目标是根据名称在级别 3 重新绑定数据帧(如果可用)以获得“l_finish” (首选 data.table 和 rlist 解决方案,但 purrr 或 base 也可以)
# Level 2
l1 <-
# Level 3
list(a = data.frame(matrix(1:4, ncol=2)),
b = data.frame(matrix(1:4, ncol=2)),
c= data.frame(matrix(1:4, ncol=2)))
# Level 2
l1a <-
# Level 3
list(a = data.frame(matrix(1:6, ncol=2)),
b = data.frame(matrix(1:6, ncol=2)))
# Level 1 "l_start"
l_start <-
list(l1, l1a)
names(l_start) <- c("l1", "l1a")
“l_finish”的外观
l_finish <-
list(l1_1a = list(a = rbind(l1$a, l1a$a),
b = rbind(l1$b, l1a$b)))
希望最终产品“l_finish” 请注意,c 已被删除,因为不在两个列表中
l_finish
#> $l1_1a
#> $l1_1a$a
#> X1 X2
#> 1 1 3
#> 2 2 4
#> 3 1 4
#> 4 2 5
#> 5 3 6
#>
#> $l1_1a$b
#> X1 X2
#> 1 1 3
#> 2 2 4
#> 3 1 4
#> 4 2 5
#> 5 3 6
关闭,但无法完全到达那里
Rbind 发生在我的示例之上一级 rbind dataframes across nested lists
列表中只有一个 df 名称,而不是多个 rbind data.frames in a list in R
【问题讨论】:
标签: r data.table bind nested-lists