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)