1

有谁知道以下示例的原因是什么:

agrepl("cold", "cool")
#> [1] FALSE
agrepl("cool", "cold")
#> [1] TRUE
4

1 回答 1

4

由于max distance默认为:

如果未给出成本,则所有默认为 10%,其他转换数范围默认为所有。组件名称可以缩写。

和:

表示为整数,或者表示为模式长度乘以最大转换成本的分数(将替换为不小于相应分数的最小整数)

长度为 4 的模式的默认最大转换量为 1。cool-pattern 与仅使用 1 删除col的开头匹配。cold将 更改cold为匹配cool将需要至少两次转换(两次替换或一次删除和一次插入)。

这些示例可能会进一步解释它:

agrepl("cold", "cool",max.distance = 1) # two changes necessary
#> [1] FALSE
agrepl("cold", "cool",max.distance = 2)
#> [1] TRUE
agrepl("cold", "coold") # just one addition necessary
#> [1] TRUE
于 2020-02-28T13:58:50.227 回答