r - 如何在R中连接两个具有最大匹配字符串的表?

标签 r string-matching stringr

我想将 2 个表 1 和表 2(左侧在 COlB 上,右侧在 ColD 上)与最大匹配字符串连接起来

表1

<表类=“s-表”> <标题> ColA ColB <正文> 123 汉 bool 法院沃克斯路 C/O 室 456 马尔韦里之家商业园

表2

<表类=“s-表”> <标题> 冷 ColC <正文> 汉 bool 法院 Lightroom 马尔韦里公园 办公室

输出表

<表类=“s-表”> <标题> ColA ColB Colc <正文> 123 汉 bool 法院沃克斯路 C/O 室 Lightroom 456 马尔韦里之家商业园 办公室

最佳答案

使用fuzzyjoin,可以选择根据距离进行连接

library(fuzzyjoin)
library(dplyr)
stringdist_inner_join(df1, df2, by = c(ColB = "ColD"),  
     max_dist = 0.5, method = "jaccard") %>%
    select(-ColD)
  ColA                            ColB      ColC
1  123 C/O room Hanbur court vaux road Lightroom
2  456     House Malveri business park    Office

数据

df1 <- structure(list(ColA = c(123L, 456L),
 ColB = c("C/O room Hanbur court vaux road", 
"House Malveri business park")), class = "data.frame", row.names = c(NA, 
-2L))

df2 <- structure(list(ColD = c("Hanbur Court", "Malveri park"),
 ColC = c("Lightroom", 
"Office")), class = "data.frame", row.names = c(NA, -2L))

关于r - 如何在R中连接两个具有最大匹配字符串的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71831994/

相关文章:

php - 查找重复的书籍

algorithm - 相同长度字符串的最佳字符串匹配算法?

javascript - 获取字符串中的匹配数组作为索引

用R中的部分匹配替换整个单词或单词

r - dplyr - 像 rowmeans() 一样使用 mutate()

r - 如何确定 ggplot2 中角的 x 和 y 坐标?

r - 将零长度字符向量作为空字符串处理

r - 基于多种模式提取字符串

r - 如何将包含多个文件的 Shiny 应用程序转换为易于共享和可重现的 Shiny 示例?

r - 如何创建一个数据框来收集 R 中具有多个索引的 for 循环的结果?