过滤列中正则表达式的行

时间:2016-03-08 06:53:20

标签: r

我想过滤t3列中包含大写字母的行。字母可以是不同组合的ATCG。请看我的例子和我的尝试。

> head(dat)
                                      IsomiR freq start end mism   add t5 t3
1 hsa-miR-146b-5p_TGAGAACTGAATTCCGTAGGCTGTTT    1     9  32 16GA  I-TT  0 GT
2    hsa-miR-24-3p_TGGCTCAGTTCAGCAGGAACATTTT    1    50  71 22TG I-TTT  0  0
3       hsa-miR-140-3p_TACCACAGGGTAGGACCACGG    1    62  82 14GA     0  0  0

dat[dat$t3 =="ATCG",]

1 个答案:

答案 0 :(得分:5)

我们可以使用grep

dat[grep('[ATCG]', dat$t3),]
#                                       IsomiR freq start end mism  add t5 t3
#1 hsa-miR-146b-5p_TGAGAACTGAATTCCGTAGGCTGTTT    1     9  32 16GA I-TT  0 GT

或者如果它是非特异性的

dat[grep('[A-Z]', dat$t3),]