Как работает сопоставление agrep?
Функция agrep дает некоторые удивительные результаты, и я хотел бы лучше понять ее поведение. Например:
agrep("abcd",c("abc","abcde","abcef"),value=T,max.distance = 1)
Возвращает:[1] "abc" "abcde" "abcef"
Но расстояние между "abcd" и "abcef" равно 2. Поэтому я не уверен, почему появляется третий матч.
levenshteinDist("abcd","abcef") # gives the answer of 2
Кроме того, я предполагаю, что функция будет возвращать только точные совпадения, если ограничение расстояния установлено в 0:
agrep("abcd",c("abc","abcde","abcef"),value=T,max.distance = 0)
Тем не менее, я получаю [1] "abcde"
как матч
Было бы очень полезно, если бы кто-то мог объяснить, как работает сопоставление в agrep.