Насколько я понимаю, расстояние q-грамм является суммой абсолютных разностей между q-грамм-векторами обеих строк. Но я вижу какое-то странное поведение, когда одна из строк короче, чем выбранная q.Почему R stringdist возвращает Inf в q-граммовом расстоянии с одной строкой короче q?
Так что для этих двух строк, в то время как функция qgrams
правильно:
> qgrams("a", "the cat sat on the mat", q = 2)
th he t sa on n ma e c ca at s t o m
V1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
V2 2 2 2 1 1 1 1 2 1 1 3 1 1 1 1
В stringdist
функция возвращает:
> stringdist("a", "the cat sat on the mat", q = 2, method = "qgram")
[1] Inf
Вместо возвращения:
> sum(qgrams("a", "the cat sat on the mat", q = 2)[2,])
[1] 21
ли я скучаю что-то или это ошибка? Благодарю.
stringdist версии: 0.9.4.1 и 0.9.4.2
обновление: добавлено [bugreport] (https://github.com/markvanderloo/stringdist/issues/48) –
теперь окончательно разрешено в версии GH. (0.9.4.5) –