# 安装和加载stringdist包 install.packages("stringdist") library(stringdist) # 定义字符串 str1 <- "疾控中心" str2 <- "疾病预防控制中心" str1 <- "卫健委" str2 <- "卫生健康委员会" # 计算 Jaro-Winkler 距离 jw_distance <- stringdist(str1, str2, method = "jaccard") # 自定义字符串相似度计算函数 custom_similarity <- function(str1, str2) { # 将字符串转换为字符向量 chars1 <- strsplit(str1, "")[[1]] chars2 <- strsplit(str2, "")[[1]] # 获取字符向量的长度 len1 <- length(chars1) len2 <- length(chars2) # 如果 str1 比 str2 长,则交换它们的位置 if (len1 > len2) { temp <- chars1 chars1 <- chars2 chars2 <- temp len1 <- length(chars1) len2 <- length(chars2) } # 检查 chars1 中的字符是否按顺序出现在 chars2 中 index <- 1 match_count <- 0 for (i in 1:len1) { found <- FALSE for (j in index:len2) { if (j <= len2 && chars1[i] == chars2[j]) { found <- TRUE match_count <- ma