私はそれを整理しようとしていますが、それを行うことができませんでした。「0」の値を持つすべての行を削除したいが、残りの行のID番号はそのままにしておきたい。
ID B C D
1_2 34 42 12
1_3 34 32 2
1_4 0 0 0
1_5 12 33 12
出力は
ID B C D
1_2 34 42 12
1_3 34 32 2
1_5 12 33 12
私はそれを整理しようとしていますが、それを行うことができませんでした。「0」の値を持つすべての行を削除したいが、残りの行のID番号はそのままにしておきたい。
ID B C D
1_2 34 42 12
1_3 34 32 2
1_4 0 0 0
1_5 12 33 12
出力は
ID B C D
1_2 34 42 12
1_3 34 32 2
1_5 12 33 12
列B、C、またはDの0個以上を含む行を削除する場合:
DF[apply(DF[c(2:4)],1,function(z) !any(z==0)),]
または、すべての列B、C、Dに0が含まれている場合のみ:
DF[apply(DF[c(2:4)],1,function(z) any(z!=0)),]
tmpが元のdata.frameの名前である場合、以下は機能します。
tmp2 <- data.frame(Reduce(rbind,apply(tmp,1,function(x){if(any(x==0)){NULL}else{x}})))