在R语言中如何快速计算Levenshtein距离?

34

是否有一个包含Levenshtein距离计算函数的软件包,该函数是以C或Fortran代码实现的?我需要比较许多字符串,而MiscPsychostringMatch太慢了。

4个回答

21

stringdist包中的stringdist也可以做到这一点,甚至在某些条件下比levenshteinDist更快(1)。


3
自从你提供的博客文章发布以来,stringdist的速度显著提升:现在它可以利用多个核心。 - user4117783

17

levenshteinDist(来自RecordLinkage软件包)调用编译好的C代码。 试一试。


2
只是注意到RecordLinkage包显然不再维护,并已从CRAN中删除。现在的解决方案是stringdist包。 - Brian Stamper
只是注意到RecordLinkage包不是从CRAN中获取的,它只是可用的:https://cran.r-project.org/web/packages/RecordLinkage/ - MS Berends

6
你可以尝试使用 Biostrings 中的 stringDist

1
你还可以使用textTinyR包中的levenshtein_distance()。当涉及到大约30,000个字符的更大字符向量时,我使用其他所有包都会出现“calloc”内存错误。只有textTinyR对我有效!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接