フィルタリングしたいデータがあります。私は%の列の値が指定された値より小さい場合、データフレームから行を削除する方法はありますか?
Sample1, Sample2, Sample3, Sample4, Sample5, Sample6
Item1 0 0 0 0 0 0
Item2 478 440 522 578 1066 1045
Item3 16 14 9 6 6 20
。いくつかのサンプルデータである。ここ
。各行の指定した割合が示されているよりも少ない値が含まれている場合、データフレームからその行を削除する」、と言うことができるようにしたいのは、言ってみましょう私は10未満の値を持つ列の50%の行を削除する必要があります。その場合、Item1行が削除され、Item3行が削除されます。
基準を列の50% 7未満の値、次にItem1のみ、Item2およびItem3が残ります。
Rでこれを達成するためのすてきな方法はありますか?これは簡単な問題であり、私はそれを達成するために乱雑なコードを書くことを避けたい。私が今までに読んだことから、lapply()でこれをやっているはずですか?私はどんな洞察にも感謝します。
おかげで、これは私がしようとしていたものよりもはるかに優れています。私は、私が扱っている列の数が異なっているかどうかを少し変更しました。 df = counts [which(rowSums(counts [、2:ncol(counts)] <10) ありがとうございます。 –
'rowMeans'を使い、' df [rowMeans(df [、2:7] <10)<0.5、] 'につながる' which'の余計な使い方を少し簡単にします。 – lmo