2016-09-24 15 views
0

大きなデータフレームをサブセット化する際に問題があります。私には5000件の観測と60以上の列があります。 〜30列に基づいてサブセット化したい - 本質的には、これらの30列の値の合計がinterest == 0である観測を「落とす」。小さなサンプルは以下の通りです:私はUID#1と#3を取り除きたいと思います。rowSumとサブセットを使ってデータを消去する

UID 236.1(b) 261.5(c) 261.5(d) 
1  0  0  0 
2  2  3  0 
3  0  0  0 
4  0  0  0 

私は、次のコードを試してみました:

Error in subset.data.frame(merge_charge, rowSums(merge_charge[, 29:60] > : 'subset' must be logical

と::

test <- subset(rowSums(df[,29:60]>0)) 

次のエラーが発生し、次の誤差項を生成

sub <- subset(df, rowSums(df[, 29:60]>0)) 

Error in subset.default(rowSums(merge_charge[, 29:60] > 0)) : argument "subset" is missing, with no default

ご意見やご指摘をいただければ幸いです。

+0

補正: sub < - subset(df、rowSums(df [、29:60])> 0)上記の括弧の位置は、あなたのコードでは間違っています。 – 9Heads

答えて

2

まず、サブセット()の機能をご覧ください。あなたはこのようにそれを使用することができ :だから

subset(data, condition) 

、あなたはここでデータ引数を欠場します。

第二に、あなたは入れでrowSums誤っそれは(DF rowSumsでなければなりません。:ので[1,2])> 0 、それができるでしょう:

test <- subset(your_data, rowSums(your_data[,29:60])>0) 
関連する問題