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=10
、ins=10
。问题是什么? agrep
是如何工作的?
来自帮助文件:
If ‘cost’ is not given, ‘all’ defaults to 10%, and the other transformation number bounds default to ‘all’.
据我了解,这意味着 cost
或 all
是一个限制因素,即使您设置了 del
、ins
和 sub
.如果你想允许 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))
。
如何使用此代码匹配 "abteam" 和 "ab"?
agrep("abteam",c("acb","abd","ab"),value=T,ignore.case = TRUE,max = list(del = 10, ins = 10, sub = 10))
结果是 character(0)
,尽管我指定了 del=10
、ins=10
。问题是什么? agrep
是如何工作的?
来自帮助文件:
If ‘cost’ is not given, ‘all’ defaults to 10%, and the other transformation number bounds default to ‘all’.
据我了解,这意味着 cost
或 all
是一个限制因素,即使您设置了 del
、ins
和 sub
.如果你想允许 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))
。