使用共同词汇将两个数据框按行合并

3
df1 <- data.frame(freetext = c("open until monday night", "one more time to insert your coin"), numid = c(291,312))
df2 <- data.frame(freetext = c("open until night", "one time to insert your be"), aid = c(3,5))

我希望使用自由文本列作为依据选项来合并两个数据框。然而,由于某些单词被删除或显示,因此文本并不完全相同。

是否有选项可以找到行之间最大数量的相同单词,并根据此进行合并?

这里是预期输出的示例:

df3 <- data.frame(freetext = c("open until night", "one time to insert your be"), aid = c(3,5), numid = c(291,312))

1个回答

6
也许你可以尝试使用来自模糊连接的字符串距离连接,然后调整适合你数据的max_dist参数。
fuzzyjoin::stringdist_inner_join(df1, df2, by = 'freetext', max_dist = 10)

#  freetext.x                        numid freetext.y                   aid
#  <chr>                             <dbl> <chr>                      <dbl>
#1 open until monday night             291 open until night               3
#2 one more time to insert your coin   312 one time to insert your be     5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接