agrep 使用 del, ins 参数

agrep working with del, ins arguments

如何使用此代码匹配 "abteam" 和 "ab"?

agrep("abteam",c("acb","abd","ab"),value=T,ignore.case = TRUE,max = list(del = 10, ins = 10, sub = 10))

结果是 character(0),尽管我指定了 del=10ins=10。问题是什么? agrep 是如何工作的?

来自帮助文件:

If ‘cost’ is not given, ‘all’ defaults to 10%, and the other transformation number bounds default to ‘all’.

据我了解,这意味着 costall 是一个限制因素,即使您设置了 delinssub .如果你想允许 10 次转换,你可以简单地设置 max = 10。可以使用附加参数来限制特定的转换,例如:

> x <- c("fooar","ooar","foobaz")
> agrep("foobar", x, value=T, max = list(all = 3, del = 0, ins = 0))
[1] "foobaz"

在您的情况下,您可以使用 max = list(all = 10 ,del = 10, ins = 10, sub = 10))