• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

与agrep匹配的模糊字符串

r 来源:Salfii 5次浏览

由于数据在遗留系统中存储错误,因此我使用R和agrep()来匹配公司名称列表 – 因为数据在传统系统中存储错误 – 没有第四种常规格式,公司在同一级别上录制作为客户,这意味着每个新客户都有一个新的公司条目,这导致一家公司拥有许多不同的公司名称 – 这在很多情况下都能正常工作。与agrep匹配的模糊字符串

有时,特别是对于短字符串,我得到的 – 至少对我来说 – 奇怪的比赛,例如(ABC是第一家名称):

ABC ABAXIS Europe GmbH 

ABC ABB Europe 

ABC ABB Group 

ABC ABB Stotz Kontakt GmbH 

ABC ABM Financial News 

ABC ABN AMRO Bank NV 

ABC AC Klöser GmbH 

ABC ACCBank 

ABC ACEA S.p.A. 

使用agrep()以下参数I’m:

agrep(vector1, vector2, value = TRUE, ignore.case = FALSE, max.distance = 0.01) 

是否有任何其他方式比最大距离来调整agrep()或更好的方式来做到这一点?

预先感谢

===========解决方案如下:

对于一个类似的问题,我使用本文中描述的第二种方法:http://bigdata-doctor.com/fuzzy-string-matching-survival-skill-tackle-unstructured-information-r/#comment-942

它匹配每一个与所述最相似的一个,如果有一些这当然不是最佳的寄存器误报对您而言是个问题。

此外,您可能会发现有用此功能之前和之后的名称删除空格:

trim <- function (x) gsub("^\\s+|\\s+$", "", x) #Defining function that returns string w/o leading or trailing whitespace 

我还使用了removewords()函数从“以旧换新”包。在你的情况下,删除ABC“可能是有用的。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)