如何基于每个数据框中具有不同名称的两列将两个数据框与 dplyr 连接起来? [复制]

Posted

技术标签:

【中文标题】如何基于每个数据框中具有不同名称的两列将两个数据框与 dplyr 连接起来? [复制]【英文标题】:How to join two dataframes with dplyr based on two columns with different names in each dataframe? [duplicate] 【发布时间】:2018-04-29 07:43:39 【问题描述】:

这是一个非常简单的问题,但在这里找不到合适的答案。

如何根据每个data.frame中不同名称的两列将两个data.frame与dplyr连接起来?

base::merge 可以简单地merge:

df3 <- merge(df1, df2, by.x=c("name1", "name2"), by.y=c("name3", "name4"))

df1$name1 == df2$name3df1$name2 == df2$name4 的位置。

如何在dplyr 中做到这一点?


我知道可以使用dplyr 中的by 函数来连接两个基于不同名称的列的data.frame:

df3 <- dplyr::left_join(df1, df2, by=c("name1" = "name3"))

【问题讨论】:

by = c("name1" = "name3", "name2" = "name4") 应该可以吗? dplyr.tidyverse.org/articles/two-table.html 【参考方案1】:
df3 <- dplyr::left_join(df1, df2, by=c("name1" = "name3", "name2" = "name4"))

【讨论】:

这也适用于自动装箱吗?

以上是关于如何基于每个数据框中具有不同名称的两列将两个数据框与 dplyr 连接起来? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

将数据框中的两列或多列合并为具有新名称的新列

如何比较数据框中的两列,检查它们之前是不是存在?

试图在r中隔离数据框中的两列[重复]

在 pyspark 中比较不同数据框中的两列,分别为 String 和 Array<string> 类型

Python:如何从具有多列的数据框中循环遍历每两列组合以进行聚类?

如何根据合并的数据框之一的两列的值在熊猫数据框中添加值