我希望计算R中字符串的匹配百分比。例如:
x <- "asdf"
y <- "fdjk"
我希望这返回.5(例如2场比赛,不论顺序如何)。任何想法都非常感谢。
答案 0 :(得分:4)
您可以使用strsplit
将字符串拆分为特定字符:
char.x <- strsplit(x, "")[[1]]
char.x
# [1] "a" "s" "d" "f"
char.y <- strsplit(y, "")[[1]]
char.y
# [1] "f" "d" "j" "k"
现在,您可以使用intersect
和length
来计算指标(确切的公式不明确,因为您的帖子没有指定,例如,如何处理重复的字符):
length(intersect(char.x, char.y)) /
max(length(unique(char.x)), length(unique(char.y)))
# [1] 0.5