1

Rのデータフレームから変数を削除しています。その後、以下のように出力を確認します。

ステップ1:

str(bill_11)
'data.frame':   403771 obs. of  11 variables:

$ Month          : Factor w/ 4 levels "Apr-12","Feb-12",..: 2 2 2 2 2 2 2 2 2 2 ...

Apr-12 Feb-12 Mar-12 May-12 
81891 103668 118070 100142

ステップ2:

feb_bill  <- bill_11[which(bill_11$Month == "Feb-12"),]
str(feb_bill)
'data.frame':   103668 obs. of  11 variables:

 $ Month      : Factor w/ 4 levels "Apr-12","Feb-12",..: 2 2 2 2 2 2 2 2 2 2 ...

Apr-12 Feb-12 Mar-12 May-12 
 0 103668      0      0 

私の質問は; ファクター月の3レベルを落としましたが、**新しいデータフレームでは、「月」に4レベルがあることがまだ示されています。サブセットの操作は正しいですが、私には疑問があります。

SASと比較して、私は最近Rを使用しています。それはRstr()関数の機能ですか、それとも何か問題がありますか?ご協力いただきありがとうございます。

4

1 に答える 1

4

因子水準はサブセット化されたままです。それらをドロップするには、次のように使用しますdroplevels

feb_bill  <- droplevels(bill_11[which(bill_11$Month == "Feb-12"),])

これにより、data.frame 内のすべての因子変数から未使用のレベルがすべて削除されます。特定の変数のレベルを維持するには、exceptパラメーターを使用します。

于 2013-02-20T10:47:10.877 に答える