5

別々に収集された、同じ生徒のセットの名前のリストが 2 つあります。誤植が多いので、あいまい一致を使用して 2 つのリストをリンクしています。私は 99+%agrepと似ていますが、次の基本的な問題で立ち往生しています: どうすれば (たとえば) フォアネーム "Adrian Bruce" と "Bruce Adrian" を一致させることができますか? レーベンシュタイン編集距離は、置換の数をカウントするため、この特定のケースには適していません。

これは非常に一般的な問題に違いありませんが、それに対処するための標準の R パッケージやルーチンが見つかりません。明らかな何かが欠けていると思います...???

4

2 に答える 2

3

かなり簡単な方法の 1 つは、単語を入れ替えてもう一度一致させることです...

y=c("Bruce Almighty", "Lee, Bruce", "Leroy Brown")
y2 <- sub("(.*) (.*)", "\\2 \\1", y)

agrep("Bruce Lee", y)  # No match
agrep("Bruce Lee", y2) # Match!
于 2012-02-02T20:07:37.617 に答える