Проверьте, содержатся ли все буквы в Small-String в Large-String
Я пытаюсь написать некоторый код, чтобы определить, содержатся ли буквы в маленькой строке в большей строке в R. Точность будет возвращаться в процентах.
Я нашел следующее в Stackru ( проверьте, все ли символы одной строки существуют в другой строке в r), но предоставленный код вычисляет среднее значение как количество уникальных совпадений, деленное на количество уникальных букв. т.е. он не позволяет повторять буквы
s1 <- "ABBDEFGHIZ"
s2 <- "ABBDEFGHIJ"
compare <- function(s1, s2) {
c1 <- unique(strsplit(s1, "")[[1]])
c2 <- unique(strsplit(s2, "")[[1]])
length(intersect(c1,c2))/length(c1)
}
compare(s1,s2)
[1] 0.8888889
В идеале приведенный выше код должен возвращать значение 0,9, поскольку 9/10 букв совпадают вместо 8/9.
Любой совет будет принят во внимание.
1 ответ
Что -то вроде этого:
compare <- function(s1, s2) {
c1 <- strsplit(s1, "")[[1]]
c2 <- strsplit(s2, "")[[1]]
x=sum(c1%in%c2)
x/length(unique(c(c1,c2)))
}