选择大于Tresh的琴弦

时间:2019-04-23 21:08:39

标签: r substring

我有这样的字符串集

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 

任何人都可以向我推荐一个工作脚本吗?

1 个答案:

答案 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)