例如,我有一个字符串
- "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),然后使用上面的解决方案.