R中"名字姓氏"/"姓氏名字"的顺序无关模糊匹配?

Jon*_*ley 5 r fuzzy pattern-matching string-matching

我有两个单独收集的同一组学生名单.有很多印刷错误,我一直在使用模糊匹配来链接这两个列表.我和99 +%有agrep相似之处,但我坚持以下基本问题:如何匹配(例如)名字"Adrian Bruce"和"Bruce Adrian"?Levenshtein编辑距离对于这种特定情况并不好,因为它计算了替换次数.

这一定是一个非常常见的问题,但我找不到任何标准的R包或例程来解决它.我猜我错过了一些明显的东西...... ???

Tom*_*mmy 3

嗯,一种相当简单的方法是交换单词并再次匹配......

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)