編集:このバグは R の 32 ビット バージョンで発見され、R バージョン 2.9.2 で修正されました。
これは今日@leonieduからツイートされたもので、彼への回答がないので、ここに投稿しようと思いました.
agrep() (あいまい文字列マッチング) のドキュメントを読みましたが、max.distance パラメーターを完全には理解していないようです。次に例を示します。
pattern <- "Staatssekretar im Bundeskanzleramt"
x <- "Bundeskanzleramt"
agrep(pattern,x,max.distance=18)
agrep(pattern,x,max.distance=19)
それはまさに私が期待するように動作します。文字列間には 18 文字の違いがあるため、それが一致のしきい値になると予想されます。これが私を混乱させているものです:
agrep(pattern,x,max.distance=30)
agrep(pattern,x,max.distance=31)
agrep(pattern,x,max.distance=32)
agrep(pattern,x,max.distance=33)
30 と 33 は一致するのに、31 と 32 は一致しないのはなぜですか? 計算を節約するために、
> nchar("Staatssekretar im Bundeskanzleramt")
[1] 34
> nchar("Bundeskanzleramt")
[1] 16