РЕДАКТИРОВАТЬ: Эта ошибка была обнаружена в 32-разрядных версиях R была исправлена в версии 2.9.2 R.
Это было написано мне @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