如何使用dplyr
连接R中的多个数据帧?
new <- left_join(x,y, by = "Flag")
这是我用来左连接x和y的代码
new <- left_join(x,y,z by = "Flag")
如何使用dplyr
连接R中的多个数据帧?
new <- left_join(x,y, by = "Flag")
这是我用来左连接x和y的代码
new <- left_join(x,y,z by = "Flag")
你可以使用嵌套left_join
library(dplyr)
left_join(x, y, by='Flag') %>%
left_join(., z, by='Flag')
或者另一种 Select 是将所有数据集放在list
中,使用base R
中的merge
和Reduce
Reduce(function(...) merge(..., by='Flag', all.x=TRUE), list(x,y,z))
或者我们有plyr
的join_all
个.这里,我们也将数据帧放在list
中,并使用参数type='left'
进行左连接.
library(plyr)
join_all(list(x,y,z), by='Flag', type='left')
正如@JBGruber在 comments 中提到的,也可以通过purrr
完成
library(purrr)
library(dplyr)
purrr::reduce(list(x,y,z), dplyr::left_join, by = 'Flag')