[英]How can I find all substrings, which are between two strings including a line-break using R?
[英]How can I compare two strings to find the number of characters that match in R, using substitution distance?
在R中,我有兩個字符向量a和b。
a <- c("abcdefg", "hijklmnop", "qrstuvwxyz")
b <- c("abXdeXg", "hiXklXnoX", "Xrstuvwxyz")
我想要一個函數來計算a的每個元素和b的相應元素之間的字符不匹配。 使用上面的例子,這樣的函數應該返回c(2,3,1)
。 沒有必要對齊字符串。 我需要逐個字符地比較每對字符串,並計算每對中的匹配和/或不匹配。 R中是否存在任何此類功能?
或者,以另一種方式提問,是否有一個函數給我兩個字符串之間的編輯距離 ,其中唯一允許的操作是替換(忽略插入或刪除)?
使用一些mapply
樂趣:
mapply(function(x,y) sum(x!=y),strsplit(a,""),strsplit(b,""))
#[1] 2 3 1
另一種選擇是使用adist
來計算字符向量之間的近似字符串距離:
mapply(adist,a,b)
abcdefg hijklmnop qrstuvwxyz
2 3 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.