【发布时间】:2016-02-25 11:17:00
【问题描述】:
这类问题已经被问过很多次了,但我无法根据自己的需要得到答案。
我知道在R 中拆分字符串的一些方法。如果我有一个字符串x <- "AGCAGT",并且想将字符串拆分为三个字符。我会这样做
substring(x, seq(1, nchar(x)-1, 3), seq(3, nchar(x), 3))
和两个字符的字符串通过
快得多split <- strsplit(x, "")[[1]]
substrg <- paste0(split[c(TRUE, FALSE)], split[c(FALSE, TRUE)])
作为R的新用户,我觉得很难按照自己的要求拆分字符串。如果x <- "AGCTG" 并且如果我使用substring(x, seq(1, nchar(x)-1, 3), seq(3, nchar(x), 3)),我不会得到最后两个字符的子字符串。我明白了
"AGC" ""
但是我有兴趣得到类似的东西
"AGC" "TG"
或者如果我有 x <- "AGCT" 并一次拆分 3 个字符,我想得到类似的东西
"AGC" "T"`
简而言之,如何将字符串拆分为所需长度(2,3,4,5...n)的子字符串,并保留那些小于所需长度的剩余字符。
【问题讨论】:
-
查看
seq(3, nchar(x), 3)的输出,这是子字符串的结尾,你就会明白问题所在。 -
看来there is an answer 关注的是完全相同的问题。
-
标记的重复并不能解决我的问题。
zx8754的回答,不过后来删了好像解决了我的问题 -
@zx8754 请考虑取消删除该帖子。根据 OP 的担忧,我将重新打开该帖子。
-
@RichardScriven 请检查上面我想要的输出。考虑字符串
AGCGGCCAGCT和三个字符拆分。