【发布时间】:2012-02-25 10:40:37
【问题描述】:
我有两个单独收集的同一组学生的姓名列表。有许多印刷错误,我一直在使用模糊匹配来链接这两个列表。我在agrep 和类似的地方有 99% 以上,但我遇到了以下基本问题:我如何匹配(例如)名字“Adrian Bruce”和“Bruce Adrian”? Levenshtein 编辑距离不适用于这种特殊情况,因为它会计算替换次数。
这一定是一个非常普遍的问题,但我找不到任何标准的 R 包或例程来解决它。我想我错过了一些明显的东西......???
【问题讨论】:
-
正如@Ritchie Cotton 指出的那样,您如何处理 3 个以上的名字,姓氏中的可选连字符?你可以在''和'-'上分开。在我看来,您可以通过按字母顺序重新排列名称元组来设置规范排序:
cat( sort(c('Smith','John')), collapse='') gives 'John Smith' -
我编辑了您的标题以使用 "Firstname Lastname"/"Lastname Firstname" 指定顺序无关性。如果您需要更多通用性,请重新编辑。
标签: r pattern-matching string-matching fuzzy