可能性の重複:私は特定の因子のレベルの観察を離れたサブセット
dropping factor levels in a subsetted data frame in R
ゴースト因子レベル
。これがsummary()
で行われたかどうかを調べると、レベルはまだリストされていますが、観測値はゼロです。サブセッティング中に消えてはいけませんか?
可能性の重複:私は特定の因子のレベルの観察を離れたサブセット
dropping factor levels in a subsetted data frame in R
ゴースト因子レベル
。これがsummary()
で行われたかどうかを調べると、レベルはまだリストされていますが、観測値はゼロです。サブセッティング中に消えてはいけませんか?
サブセットでは空のレベルが削除されません。これはなぜそれが機能であるかという理由です。ファクターレベルがの可能性/潜在的なカテゴリーを決定する際には、と考えてください。あなたがこれらのもののサブセットを取る場合、の可能性のあるカテゴリは変更されません、あなたのサブセットにはそれらのどれも含まれていません。
これらの空のレベルを削除する場合は、?droplevels
を参照してください。
、余分なレベルが消えるようdrop=TRUE
を使用するには、サブセット化する場合:
newfactor <- oldfactor[indices, drop=TRUE]
をちなみに、これはデフォルトではありません一つの理由は、異なるレベルの要因を比較することができないということです。したがって、元のベクトル、またはおそらくベクトルの別のサブセットと要因を比較したい場合は、余分なレベルを維持する必要があります。
データフレームに適用される「小滴」の唯一の危険性は、デフォルトでは、**すべての**要因(焦点因子のレベルではなく)の空のレベルを削除することであり、望ましくない可能性があります。 –
右のように、他の要素をそのまま残しておきたい場合は、単一の要素については 'obj < - transform(obj、fac = droplevels(fac))'を実行します。 –