提问人:Ben Blackburn 提问时间:8/22/2023 最后编辑:MarkBen Blackburn 更新时间:8/22/2023 访问量:32
将 Id 分配给新表中的模糊匹配名称 - R
Assign Id to fuzzy match name in new table - R
问:
我有两张桌子。表 1 有一个 id 列和一个 full_name 列。表 2 只有一个全名列,但名称是近似匹配项,而不是完全匹配项。我想将 id 列应用于第二个表,以便 id 应用于正确的近似匹配名称。我的表格如下所示:
df1 <- read.table(text="
id full_name
1 'Tom Jones'
2 'Jim James'", header = TRUE)
df2 <- read.table(text="
full_name
'Tom Jones Jr.'
'Jim James Ii'", header = TRUE)
我希望表 2 的结尾是这样的:
编号 | full_name |
---|---|
1 | 小汤姆·琼斯 |
2 | 吉姆·詹姆斯二世 |
我已经尝试过stringdist_join并希望理想地在 dplyr 中这样做,但我不确定这是否可能。任何帮助将不胜感激。谢谢。
答: 暂无答案
评论
stringdist_left_join(df1, df2, by = "full_name", method = "jw", max_dist = 0.3)
stringdist_left_join(df2, select(df1, full_name, id), by = "full_name", method = "jw", max_dist = 0.3)
将获取每一行并将其链接到所有匹配的 full_name+id ,而不引入任何其他列。df2
df1