如何使用此代码匹配“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
工作?
如何使用此代码匹配“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
工作?
从帮助文件:
如果未给出“成本”,则“全部”默认为 10%,其他转换数范围默认为“全部”。
据我了解,这意味着cost
orall
是一个限制因素,即使您设置了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))
.