r-通过list和df名称绑定来自两个嵌套列表的数据帧



我想通过以下名称绑定来自两个不同嵌套列表的R数据帧:


list1 = list(list_a = list(df1 = data.frame(letters = c('A','B','C'),
numbers = seq(1,3)),

df2 = data.frame(letters = c('A','B','C','D','E'),
numbers = seq(1,5))),

list_b = list(df3 = data.frame(norm = rnorm(4))))

list2 = list(list_a = list(df1 = data.frame(letters = c('D','E','F'),
numbers = seq(4,6)),

df2 = data.frame(letters = c('F','G','H','I','J'),
numbers = seq(6,10))),

list_b = list(df3 = data.frame(norm = rnorm(4))))

我期望通过名称绑定这两个列表后的结果是:

> list3
$list_a
$list_a$df1
letters numbers
1       A       1
2       B       2
3       C       3
4       D       4
5       E       5
6       F       6
$list_a$df2
letters numbers
1        A       1
2        B       2
3        C       3
4        D       4
5        E       5
6        F       6
7        G       7
8        H       8
9        I       9
10       J      10

$list_b
$list_b$df3
norm
1  0.1400504
2 -0.5785170
3 -0.2905891
4  1.9175712
5  1.8736454
6 -0.4895259
7  0.5975914
8  0.3586774

所以,简而言之,我真正想做的是通过名称绑定来自这两个嵌套列表的各个数据帧。

有什么想法吗?

假设list1list2有一个相互的结构(相同的深度、列表名称、顺序(,您可以使用嵌套的Map():

Map((x, y) Map(rbind, x, y), list1, list2)
$list_a
$list_a$df1
letters numbers
1       A       1
2       B       2
3       C       3
4       D       4
5       E       5
6       F       6
$list_a$df2
letters numbers
1        A       1
2        B       2
3        C       3
4        D       4
5        E       5
6        F       6
7        G       7
8        H       8
9        I       9
10       J      10

$list_b
$list_b$df3
norm
1  0.6370310
2  0.3425583
3 -0.8333353
4  1.5825106
5 -0.2551183
6  1.1983533
7 -1.0771730
8 -1.1065747

最新更新