我很难理解agrep()
函数的结果。我不明白我在功能描述中遗漏了什么。
agrep()
用于模糊匹配,我想用它来纠正一些拼写错误。我只想允许最多 2 次插入/删除/替换。
这是我的代码仅作为示例:
check=c("73SAINTGERMAINLACHAMBOTTE","73CHAMBERY")
agrep("73SAINTGERVAIS",check,ignore.case=TRUE,max.distance=2,value=TRUE)
在这里,我期望这个请求没有答案,因为我无法转换"73SAINTGERVAIS"
为最多 2 次插入"73SAINTGERMAINLACHAMBOTTE"
/"73CHAMBERY"
删除/替换。但是,结果是:
[1] "73SAINTGERMAINLACHAMBOTTE"
这是否意味着插入/删除/替换的概念不是基于字符的(我的意思是字符串"MAINLACHALBOTTE"
被视为 1 次插入)?