例如,我有一个字符串
"AAAAAAACGAAAAAACGAAADGCGEDCG"
我想算一下CG重复的次数.
我怎么做?
您可以使用gregexpr在vec中查找“CG”的位置.我们必须检查是否没有匹配(-1).函数sum计算匹配数.
> vec <- "AAAAAAACGAAAAAACGAAADGCGEDCG" > sum(gregexpr("CG",vec)[[1]] != -1) [1] 4
如果你有一个字符串向量,你可以使用sapply:
> vec <- c("ACACACACA","GGAGGAGGAG","AACAACAACAAC","GGCCCGCCGC","TTTTGTT","AGAGAGA") > sapply(gregexpr("CG",vec),function(x) sum(x != -1)) [1] 0 0 0 2 0 0
如果你有一个字符串列表,你可以使用unlist(vec),然后使用上面的解决方案.