Index odx1 odx2 odx3 odx4 odx5
1 123 0 0 0 0
2 0 321 0 0 0
3 0 0 0 123 0
4 0 321 0 0 0
5 0 0 0 0 0
私は上記のデータセットのサンプルを添付しました。私は私がこれまで試みられてきたことはdplyr使用することである123または321複数の列に適用されたRのフィルタリング/サブセット
例えば含まれているというのが私のデータセットをサブセット化Rに複数のカラムにフィルタリングしたい -
df %>% filter(., odx1==123 | odx2==123 | odx3==123 | odx4==123 | odx5==123 | odx1==321| odx2==321| odx3==321| odx4==321| odx5==321)
上記は動作しますが、これを行うより簡単な方法がありますか?
私の実際のデータセットにはodx1-odx25が含まれています。私は、約100K行にわたってフィルタリングするために約15文字列のリストを持っています。
EDIT:
実際のデータセットは、数字のランダムな文字列が含まれていますが、私は一例として、視認性と簡単にするために0を使用していました。私のコメントのように
Index odx1 odx2 odx3 odx4 odx5
1 123 421 532 414 981
2 243 321 765 132 321
3 144 322 587 123 444
4 655 321 459 091 676
5 456 421 523 431 768
どうDF [rowSums 'について(== 123 DF | ' –
データが常にこの一般的な形式であれば(ちょうどすべての '0'からなる観測値を取り除きたい場合は、少し速く(キーストロークと計算時間の両方に関して) )は、次のようになります: 'df [rowSums(df!= 0)!= 0、]' –