如何在R中使用dplyr执行多个左连接

时间:2015-08-18 07:40:13

标签: r dplyr

如何使用dplyr

加入R中的多个数据帧
new <- left_join(x,y, by = "Flag")

这是我用来离开连接x和y的代码 代码不适用于多个连接

new <- left_join(x,y,z by = "Flag")

1 个答案:

答案 0 :(得分:77)

您可以使用嵌套的left_join

 left_join(x, y, by='Flag') %>%
                left_join(., z, by='Flag') 

或另一种选择是将所有数据集放在list中,并使用merge中的base RReduce

Reduce(function(...) merge(..., by='Flag', all.x=TRUE), list(x,y,z))

或者我们join_all来自plyr。在这里,我们将数据框放在list中,并使用参数type='left'进行左连接。

library(plyr)
join_all(list(x,y,z), by='Flag', type='left')