R 基于id变量的列绑定多个列表元素
假设以下列表:R 基于id变量的列绑定多个列表元素,r,list,tidyverse,R,List,Tidyverse,假设以下列表: a <- data.frame(id = 1:3, x = 1:3) b <- data.frame(id = 3:1, y = 4:6) my_list <- list(a, b) my_list # [[1]] # id x # 1 1 1 # 2 2 2 # 3 3 3 # [[2]] # id y # 1 3 4 # 2 2 5 # 3 1 6 如果只有2个数据帧: invoke(full_join, my_list, by
a <- data.frame(id = 1:3, x = 1:3)
b <- data.frame(id = 3:1, y = 4:6)
my_list <- list(a, b)
my_list
# [[1]]
# id x
# 1 1 1
# 2 2 2
# 3 3 3
# [[2]]
# id y
# 1 3 4
# 2 2 5
# 3 1 6
如果只有2个数据帧:
invoke(full_join, my_list, by='id')
id x y
1 1 1 6
2 2 2 5
3 3 3 4
如果您使用的是base R,则以下任何一项都应起作用:
Reduce(merge, my_list)
do.call(merge, my_list)
当然,咕噜。谢谢也比我的解决方案快得多。@德申,如果这样的话,你可以考虑接受答案来结束问题,只需等几分钟才能接受答案。
reduce(my_list, full_join, by='id')
id x y
1 1 1 6
2 2 2 5
3 3 3 4
invoke(full_join, my_list, by='id')
id x y
1 1 1 6
2 2 2 5
3 3 3 4
Reduce(merge, my_list)
do.call(merge, my_list)