如何使用替换距离比较两个字符串以查找R中匹配的字符数?

Rya*_*son 7 r edit-distance string-comparison string-substitution

在R中,我有两个字符向量a和b.

a <- c("abcdefg", "hijklmnop", "qrstuvwxyz")
b <- c("abXdeXg", "hiXklXnoX", "Xrstuvwxyz")
Run Code Online (Sandbox Code Playgroud)

我想要一个函数来计算a的每个元素和b的相应元素之间的字符不匹配.使用上面的例子,这样的函数应该返回c(2,3,1).没有必要对齐字符串.我需要逐个字符地比较每对字符串,并计算每对中的匹配和/或不匹配.R中是否存在任何此类功能?

或者,以另一种方式提问,是否有一个函数给我两个字符串之间的编辑距离,其中唯一允许的操作是替换(忽略插入或删除)?

the*_*ail 8

使用一些mapply乐趣:

mapply(function(x,y) sum(x!=y),strsplit(a,""),strsplit(b,""))
#[1] 2 3 1
Run Code Online (Sandbox Code Playgroud)