TL; DR我想匹配两个不相等的列,其中值包含商家名称,我尝试使用Jaro-Winkler匹配来获取 stringdist的 amatch 靠近,但不够接近。我想知道stringi在这里是否有用 - 我只是不太明白如何使用它,原谅我是一个菜鸟。我不会另外问,但我认为我不能及时弄明白。
对于上下文,一列中有2079个业务名称,第二列中有1878个业务名称。其中许多包含业务结构作为后缀 - 即LLC,Inc.,INC。,Co.等 - 所以我在进入R之前用excel将它们整理出来。这些名称被手动输入到两列中,因此有人入口错误变化。
我使用了这个公式:
amatch(match$sales, match$box, maxDist = .25, method =c("jw"), weight = c(d = 1, i = .9, s = .9, t = .9), p= .2, matchNA = FALSE, bt=.25)
我能够得到一些结果,但很多比赛都是重复的,因为公司会分享第一个单词,或者第一个单词/字母组合 - 即“A& A”和“A& B” 。我知道这是基于JW公式如何工作,但我不太清楚如何修改它。
我需要将列b中的值与列a匹配。可能有重复和列a。我对相似性没有任何具体规定;我希望最接近的匹配可能与每个值,以及最少数量的错误重复。
首先,在 stringi 中是否有更简单的方法来实现这一目标?
请告知,因为我不知道如何最好地解决这个问题。如果需要进一步的细节,我很高兴有义务。提前谢谢。