Jon*_*ley 5 r fuzzy pattern-matching string-matching
我有两个单独收集的同一组学生名单.有很多印刷错误,我一直在使用模糊匹配来链接这两个列表.我和99 +%有agrep相似之处,但我坚持以下基本问题:如何匹配(例如)名字"Adrian Bruce"和"Bruce Adrian"?Levenshtein编辑距离对于这种特定情况并不好,因为它计算了替换次数.
这一定是一个非常常见的问题,但我找不到任何标准的R包或例程来解决它.我猜我错过了一些明显的东西...... ???
嗯,一种相当简单的方法是交换单词并再次匹配......
y=c("Bruce Almighty", "Lee, Bruce", "Leroy Brown")
y2 <- sub("(.*) (.*)", "\\2 \\1", y)
agrep("Bruce Lee", y) # No match
agrep("Bruce Lee", y2) # Match!
Run Code Online (Sandbox Code Playgroud)