1

2 つの行の合計に基づいて、一定数以上の文字を含むデータセットから行を削除する方法を知りたいです。

たとえば、次のデータでは:

2   rs121065    0   17696224    T   C
2   rs1860485   0   17696230    T   C
2   rs237147    0   17696256    C   CGAGGCAG
2   rs1909633   0   17696365    A   G
2   rs574724    0   17696368    T   C

3 行目を削除したいと思います。問題は、一連の文字が可変であるため、他の場所ではデータが次のようになる可能性があることです。

2   rs113308    0   17683654    CCTTT   C

またはこれ:

2   rs103371    0   17667279    TG  T

したがって、基本的に、最後の 2 列に 2 文字を超える行はすべて削除する必要があります。理想的には、私のデータセットは次のようになります。

2   rs121065    0   17696224    T   C
2   rs1860485   0   17696230    T   C
2   rs1909633   0   17696365    A   G
2   rs574724    0   17696368    T   C

どんな提案でも大歓迎です!

4

3 に答える 3

6

R ベースのソリューション。

seq1焦点列がand と呼ばれているとしましょうseq2

それで

mydata <- subset(mydata,nchar(seq1)+nchar(seq2)==2)

または、最後の 2 つの列を使用したい場合は、

nc <- ncol(mydata)
mydata <- mydata[nchar(mydata[,ncol-1])+nchar(mydata[,ncol])==2,]

しかし、前者の方が読みやすいと思います。

于 2013-05-17T16:29:58.873 に答える