Как работает сопоставление 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.

0 ответов

Другие вопросы по тегам