r语言 - 连接两个不同维度的数据帧并匹配



这个问题分为两部分。我想加入/合并两个数据帧成一个。它们都只有一列,但行数不同。有些观察结果是吻合的;

df1 <- c("John", "Tommy", "Linda", "Cole")
df2 <- c("Tom", "John", "Bruce")
as.data.frame(df1)
as.data.frame(df2)

将它们连接在一起后,我需要将匹配的观察值放在同一行。也就是说,John(df1)将与John(df2)在同一行,Tommy(df1)和Tom(df2)也在同一行。这可能涉及模糊匹配,因为需要匹配不同的名称(Tom/Tommy)。

如果在df1中有一个在df2中不存在的观测值(比如Linda),我希望在df2的那一行中有一个NA。Bruce则相反。

所需输出:

<表类>df1df2tbody><<tr>约翰约翰汤米汤姆琳达NA科尔NANA布鲁斯

使用fuzzyjoin:

df1 <- data.frame(df1 = c("John", "Tommy", "Linda", "Cole"))
df2 <- data.frame(df2 = c("Tom", "John", "Bruce"))
fuzzyjoin::stringdist_full_join(df1, df2, by = c(df1 = "df2"))
#     df1   df2
# 1  John  John
# 2 Tommy   Tom
# 3 Linda  <NA>
# 4  Cole  <NA>
# 5  <NA> Bruce

相关内容

  • 没有找到相关文章

最新更新