回复 第1楼 的 xiaoguozhi:直接用正则表达式即可。{stringr}提供的函数很方便。
<br />
library(stringr)<br />
str <- "aggcacggaaaaacgggaataacggaggaggacttggcacggcattacacggagg"<br />
n <- 0:5<br />
patterns <- sapply(n,function(i) {<br />
paste0("a\\w{",i,"}g")<br />
})<br />
counts <- str_count(str,patterns)<br />
names(counts) <- n<br />
counts<br />
</p>
统计a*g中间有0-5个任意字母的频率。