使用agrep
功能。
初始数据:
x <- c("Company A Pty.","BigData GMBH","Company A Pty. Ltd.","Red Pants Warsaw", "Company A Georgia", "Red Pants Ltd", "BlueSocks House")
第一个参数是您想要在数据中查看的模式(例如 x[1]),第二个是您想要查看的位置,max
是两个字符串可以不同的最大距离。value
意味着我们要获取字符串而不是向量的索引。
如果没有匹配,您可以更改max
,但要小心!更多并不总是更好。
agrep(x[1],x, max=0.1, value=TRUE)
## [1] "Company A Pty." "Company A Pty. Ltd."
agrep(x[1],x, max=0.3, value=TRUE)
## [1] "Company A Pty." "Company A Pty. Ltd." "Company A Georgia"
agrep(x[1],x, max=0.7, value=TRUE)
## [1] "Company A Pty." "Company A Pty. Ltd." "Company A Georgia" "Red Pants Ltd"
更重要的是,这不是对称的。“Red Pants Warsaw”(x[4])与“Red Pants Ltd”(x[6])不匹配,但它以其他方式工作 - x[6] 与 x[4] 匹配。请注意这一点。
agrep(x[4],x, max=0.2, value=TRUE)
## [1] "Red Pants Warsaw"
agrep(x[6],x, max=0.2, value=TRUE)
## [1] "Red Pants Warsaw" "Red Pants Ltd"