- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一些帮助来理解这些函数的参数。我从帮助中拿了例子。
## To see the transformation counts for the Levenshtein distance:
drop(attr(adist("kitten", "sitting", counts = TRUE), "counts"))
# ins del sub
# 1 0 2
ins,代表插入; del 用于删除;和 sub 替换。
## To see the transformation sequences:
attr(adist(c("kitten", "sitting"), counts = TRUE), "trafos")
# [,1] [,2]
# [1,] "MMMMMM" "SMMMSMI"
# [2,] "SMMMSMD" "MMMMMMM"
由此不难看出,在比较字符串一和字符串二时,发现SMMMSMI
; 2 次换人和 1 次插入,总共距离应为 3。
adist("kitten", "sitting", costs = list(ins=1, del=0, sub=1), partial = F)
# [,1]
# [1,] 3
这是我不明白的,为什么当我将插入成本设置为零时,总距离的结果为零。由于替换次数,我预计是 2。
adist("kitten", "sitting", costs = list(ins=0, del=0, sub=1), partial = F)
# [,1]
# [1,] 0
非常感谢。
最佳答案
如果您在指定每个操作的成本的同时查看实际计数,这将更容易解释:
drop(attr(adist("kitten", "sitting", costs = list(ins=0, del=0, sub=1),
partial = F, counts = T), "counts"))
# ins del sub
# 6 5 0
所以你看到的不是:
# ins del sub
# 1 0 2
当您指定一组与默认值不同的成本参数时,插入、删除和替换的操作数发生了变化。这是有道理的,因为有不止一种方法可以将一个字符串转换为另一个字符串,并且根据 ?adist
,与 adist
的距离是:
a generalized Levenshtein (edit) distance, giving the minimal possibly weighted number of insertions, deletions and substitutions needed to transform one string into another.
根据这个声明,应该有一个底层优化来最小化由 cost
参数加权的操作数,所以如果我们指定 insertions
和 deletions
成本参数为零,那么它不会再使用 substitution
操作,因为前两个操作显然成本更低,并且确实使用了 6 插入和 5 删除来完成转换最终距离为零,因为这两个操作的成本为零。
关于r - 如何在 adist 和 agrep 函数中设置成本参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39430059/
我想用 adist 来计算每行两列值之间的编辑距离。 我或多或少是这样使用它的: A % rowwise() %>% mutate(Lev_dist=adist(x=A,y=B,ign
我需要一些帮助来理解这些函数的参数。我从帮助中拿了例子。 ## To see the transformation counts for the Levenshtein distance: drop(
我是一名优秀的程序员,十分优秀!