2017-09-06 15 views
0

は、ルールと不一致でいくつかの要素は、データフレーム内に残る:サブセットた()Iは、以下のコードを実行すると

coefs.total.b <- coefs.total[-which(coefs.total[1:1000, 25:36] < 0.001 & 
            coefs.total[1:1000, 37:48] > 0.6), ] 
+0

正確にあなたが表現しようとしているルールとは何か? –

+0

カラム37〜48の0.001より小さい要素、0.6より大きい要素を含む行を除外したい場合 –

+0

したがって、最初の行のカラム26が<0.001でカラム38> 0.6の場合は、最初の行または1001番目?最初の1つはより頻繁に役に立つと思われ、2つ目のコードはあなたのコードと同じです –

答えて

0

which(coefs.total[1:1000, 25:36] < 0.001)するテスト個々のセル(仮定coefs.totalは行列です)行ごとに移動します。つまり、最初の行の26番目は1001番目の値となります。

異なる行のテストを組み合わせる場合は、これを明示的に行う必要があります。あなたのコメントから、私はそれらをまたはで結合したいと思います。これは、関数any(同様all表現とするために)、またはIが示すつもりだどのrowSumsを使用してapply行方向を使用して行うことができます。

coefs.total.b <- coefs.total[-which(
    rowSums(coefs.total[1:1000, 25:36] < 0.001) > 0 & 
    rowSums(coefs.total[1:1000, 37:48] > 0.6) > 0), ] 
関連する問題