我有这样的字符串集
genome
A DNAStringSet instance of length x
width seq
[1] 1003 GAACAGCATGAATGTTAAAACTGA...AGGTTTTCAGAAAAAGCAGAAGA
[2] 150 TATATATATATAGTCAATTCGAGG...CTATTCCAGAGTTTCCTTGCAAA
[3] 1619 ATAGACATACACACAAATATTTTT...TATTTATACATATATATATATAT
[4] 359 TCACCAGTGGCAGCCGCGGCTACA...GTACAACGACCCTGATGACTCCG
我只选择大于tresh = 1000的字符串 我已经尝试过
genome[filter(width(genome) >=1000]
但是这不能提供正确的解决方案。 我期望这样的输出:
genome
A DNAStringSet instance of length x
width seq
[1] 1003 GAACAGCATGAATGTTAAAACTGA...AGGTTTTCAGAAAAAGCAGAAGA
[3] 1619 ATAGACATACACACAAATATTTTT...TATTTATACATATATATATATAT
任何人都可以向我推荐一个工作脚本吗?
答案 0 :(得分:0)
在您的情况下,您需要nchar
来计算字符串中的字符数。
所以试试这个:
genome[nchar(genome$seq) >= 1000, ]
如果宽度是数字字符,则还可以像这样选择正确的条目:
genome[genome$width >= 1000, ]
在您的问题中,您使用了filter
包中的dpylr
函数:可以这样做:
library(dplyr)
filter(genome, width >= 1000)
或
filter(genome, nchar(seq) >= 1000)