2016-07-19 11 views
0

データマトリックスが1200(行、サンプル名)* 20000(col、遺伝子名)、興味がある5遺伝子がすべてのサンプルでゼロ値を持つときに行を削除したいANDでRを使用してデータフレームを変更する方法

私は単一の遺伝子のために使用するコマンド:

allexp <-preallexp[preallexp$GZMB > 0, ] 

が、私が使用したいと上記のコマンドでは、次のように:

allexp <-preallexp[preallexp$GZMB && preallexp$TP53 && preallexp$EGFR && preallexp$BRAF && preallexp$VGEF > 0, ] 

が、このコマンドdoesntの仕事、私はあなたの助けを必要としてください。..上記のコマンドラインでANDを使用する方法d。

+2

'&&'返します条件の唯一の最初の論理結果を次のように、あなたも、あなたが条件を毎回繰り返す必要(シングルアンパサンド) ''&使用する必要がありますすなわち 'preallexp $ GZMB> 0&preallexp $ TP53> 0&... ' – digEmAll

+0

ありがとう、digEmAll、しかし、私は5遺伝子の合計が0の場合は、th削除行、申し訳ありませんが私は上記で述べた。 – mona

答えて

2

EDIT:OPに対する応答です。 私はこれをコーディングするはるかに効率的な方法があります確信しているが、これはあなたが後にしているものです:あなたは、私はMKTさんは、動作するはずと思っているだろう負の式の値を持っていない限り

allexp <-preallexp[preallexp$GZMB + preallexp$TP53 + preallexp$EGFR + 
        preallexp$BRAF + preallexp$VGEF > 0, ] 
+0

ありがとうmkt、このコードは、各遺伝子が0の値を持つときに行を削除しますが、行の5遺伝子の合計がゼロの場合は行を削除します。 – mona

+0

が編集されました。まだエレガントではありませんが、動作するはずです。 – mkt

+0

ありがとうございますが、コマンドの上で動作していません。 – mona

1

。しかしここに私のものがあります。これは、5つの遺伝子のそれぞれと0

which(preallexp$GZMB == 0 && preallexp$TP53 && 
preallexp$EGFR == 0 && preallexp$BRAF == 0 && preallexp$VGEF == 0) 

の値。これは、すべての5つの遺伝子がゼロ

の価値を持っているところの行はだから、もしからこれらの行を削除することができますので、与えた値の行を削除しますデータフレーム

allexp <-preallexp[ 
    -(which(preallexp$GZMB == 0 && preallexp$TP53 && 
    preallexp$EGFR == 0 && preallexp$BRAF == 0 && preallexp$VGEF == 0)), ] 
+0

ありがとう、その作品は今.. – mona

+0

@monaそれを聞いてうれしい。あなたの問題を解決した答えを受け入れることができますか? – mkt

関連する問題