こんにちは、遺伝子発現のマトリックス、フラグメントカウントを使用して、差次的に発現する遺伝子を計算しています。値が0の行を削除する方法を知りたいのですが、データセットがコンパクトになり、この行列を使用して行うダウンストリーム分析でスプリアスの少ない結果が得られます。
入力
gene ZPT.1 ZPT.0 ZPT.2 ZPT.3 PDGT.1 PDGT.0
XLOC_000001 3516 626 1277 770 4309 9030
XLOC_000002 342 82 185 72 835 1095
XLOC_000003 2000 361 867 438 454 687
XLOC_000004 143 30 67 37 90 236
XLOC_000005 0 0 0 0 0 0
XLOC_000006 0 0 0 0 0 0
XLOC_000007 0 0 0 0 1 3
XLOC_000008 0 0 0 0 0 0
XLOC_000009 0 0 0 0 0 0
XLOC_000010 7 1 5 3 0 1
XLOC_000011 63 10 19 15 92 228
必要な出力
gene ZPT.1 ZPT.0 ZPT.2 ZPT.3 PDGT.1 PDGT.0
XLOC_000001 3516 626 1277 770 4309 9030
XLOC_000002 342 82 185 72 835 1095
XLOC_000003 2000 361 867 438 454 687
XLOC_000004 143 30 67 37 90 236
XLOC_000007 0 0 0 0 1 3
XLOC_000010 7 1 5 3 0 1
XLOC_000011 63 10 19 15 92 228
今のところ、すべてのフラグメントカウント列が0である行を削除したいのは、いずれかの行で一部の値が0で、他の値がゼロ以外の場合のみです。上記の例を見るとわかるように、その行はそのままにしておきます。
これを行う方法を教えてください。
df[apply(df[,-1], 1, function(x) !all(x==0)),]