网站建设需要哪些证书,全屋定制给设计吗,扬州网站开发,WordPress重新安装删除哪个Package utils version 4.2.0 Description
计算字符向量之间的近似字符串距离。这个距离是一个广义的Levenshtein(编辑)距离#xff0c;给出了将一个字符串转换为另一个字符串所需的最小可能的插入、删除和替换加权数。 Usage
adist(x, y NULL, costs NULL, counts FALSE… Package utils version 4.2.0 Description
计算字符向量之间的近似字符串距离。这个距离是一个广义的Levenshtein(编辑)距离给出了将一个字符串转换为另一个字符串所需的最小可能的插入、删除和替换加权数。 Usage
adist(x, y NULL, costs NULL, counts FALSE, fixed TRUE,partial !fixed, ignore.case FALSE, useBytes FALSE) Arguments
参数【x】一个字符向量。不支持长向量。
参数【y】一个字符向量或默认为NULL即视作参数【x】的值。
参数【costs】数值向量或命名列表明确指出计算Levenshtein距离时要进行“insertions”“deletions”和“substitutions”的加权。默认为NULL表示三种编辑方式加权相同。
参数【counts】逻辑值指示是否将编辑次数insertionsdeletions和substitutions的次数作为返回值的 counts 属性。
参数【fixed】逻辑值。默认为TRUE参数【x】视为正常的字符。否则参数【x】将视为标准的正则字符串并且参数【partial】自动设置为FALSE。
参数【partial】逻辑值。指示编辑后的参数【x】是否要完全匹配参数【y】。
参数【ignore.case】逻辑值。如果为TRUE计算编辑距离时忽略大小写。
参数【useBytes】逻辑值。如果为TRUE计算编辑距离将使用字节而不是字符。 Details
两个字符串s和t之间的(广义的)Levenshtein(或编辑)距离是将s转换为t(以便转换完全匹配t)所需的插入、删除和替换的最小可能加权数。
这个距离是在partial FALSE时计算的目前使用的是一种动态规划算法(例如参见https://en.wikipedia.org/wiki/Levenshtein_distance)其空间和时间复杂度为O(mn)其中m和n分别是s和t的长度。
另外计算变换序列和计数是O(max(m,n))。
广义Levenshtein距离也可以用于近似(模糊)字符串匹配在这种情况下可以找到与模式s距离最小的t的子字符串(可以将其视为正则表达式在这种情况下使用最左和最长匹配的原则适用)参见例如https://en.wikipedia.org/wiki/Approximate_string_matching。这个距离是由Ville Laurikari (https://github.com/laurikari/tre)使用 tre 为partial TRUE计算的并且对应于agrep使用的距离。在这种情况下给定的cost值被强制为整数。
注意插入和删除的代价可以不同在这种情况下s和t之间的距离可以不同于t和s之间的距离。 Value
具有x和y元素的近似串距离的矩阵其行和列分别对应于x和y。
如果counts为TRUE则转换计数作为该矩阵的“counts”属性返回作为一个三维数组其维度分别对应于x的元素、y的元素和转换类型(插入、删除和替换)。
此外如果partial FALSE转换序列将作为返回值的“trafos”属性返回作为包含元素“M”、“I”、“D”和“S”的字符串分别表示匹配、插入、删除和替换。
如果partial TRUE则匹配子字符串的偏移量(第一个和最后一个元素的位置)将作为返回值的offsets属性返回(包含两个偏移量)−1表示不匹配。 Examples
adist(kitten, sitting) [,1]
[1,] 3
drop(attr(adist(kitten, sitting, counts TRUE), counts))
ins del sub 1 0 2
attr(adist(c(kitten, sitting), counts TRUE), trafos) [,1] [,2]
[1,] MMMMMM SMMMSMI
[2,] SMMMSMD MMMMMMM
adist(lasy, 1 lazy 2) [,1]
[1,] 5
adist(lasy, 1 lazy 2, partial TRUE) [,1]
[1,] 1