如何使用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中的mergeReduce

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

或者我们有plyrjoin_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')

R相关问答推荐

替换字符的所有实例,但仅限于匹配字符串中

如何在x轴下方画一条带有箭头的线?

插入指示行之间时间间隔的新行

过滤Expand.Grid的结果

根据shiny 应用程序中的数字输入更改图标 colored颜色

Tidyverse/Djirr为从嵌套列表中提取的列名赋值的解决方案

R:连接值,而不是变量?

在不安装软件包的情况下测试更新

如何在R中合并和合并多个rabrame?

在"gt"表中添加第二个"groupname_col",而不连接列值

ggplot2中的X轴显示数值,单位为百,而不是十

使用tidy—select创建一个新的带有mutate的摘要变量

R中插入符号训练函数的中心因子和尺度因子预测

如何在R forestplot中为多条垂直线分配唯一的 colored颜色 ?

如何在R中平滑地绘制线图(不拟合)?

查找所有站点的最小值

扩展R中包含列表的数据框

'使用`purrr::pwalk`从嵌套的嵌套框架中的列表列保存ggplots时出现未使用的参数错误

将文本批注减少到gglot的y轴上的单个值

TidyVerse中长度不等的列结合向量