如何在R中合并具有相同列名但键值不同的两个数据帧

时间:2019-02-28 05:38:32

标签: r dataframe merge

我有两个数据帧。第一列有7列,第二列有2列。通用列名称为“ flavor”。我想合并这两个数据帧,但问题是第二个数据帧仅在“风味”列中包含第一个数据帧的子集。例如,

df1$flavor <- c("mango|grapes|watermelon", "coffee|tea", "beer|alcohol|wine")
df2$flavor <- c("mango", "tea", "wine")

当我试图合并两个数据框时,我丢失了几行。因此,如何在不影响行和列的情况下合并两个数据帧。

1 个答案:

答案 0 :(得分:0)

您可以使用“ fuzzyjoin”,因为它可以匹配部分字符串。假设您有df1(7列)和df2(2列):

 library(fuzzyjoin)
 df1 %>% regex_inner_join(df2, by = c(flavor = "flavor"))