[解決済み】サブセットされたデータフレーム内の未使用の因子レベルを削除する
2022-03-23 20:21:16
質問
を含むデータフレームがあります。
factor
. このデータフレームのサブセットを
subset
または他のインデックス作成関数で、新しいデータフレームが作成されます。 しかし
factor
変数は、新しいデータフレームに存在しない場合でも、元のレベルをすべて保持する。
これは、ファセット化されたプロットを行う場合や、因子のレベルに依存する関数を使用する場合に問題が発生します。
新しいデータフレームで因子からレベルを削除する最も簡潔な方法は何ですか?
以下はその例です。
df <- data.frame(letters=letters[1:5],
numbers=seq(1:5))
levels(df$letters)
## [1] "a" "b" "c" "d" "e"
subdf <- subset(df, numbers <= 3)
## letters numbers
## 1 a 1
## 2 b 2
## 3 c 3
# all levels are still there!
levels(subdf$letters)
## [1] "a" "b" "c" "d" "e"
解決方法は?
サブセットした後、変数に再度 factor() を適用すればよいのです。
> subdf$letters
[1] a b c
Levels: a b c d e
subdf$letters <- factor(subdf$letters)
> subdf$letters
[1] a b c
Levels: a b c
EDIT
ファクターページの例から。
factor(ff) # drops the levels that do not occur
データフレーム内のすべての要因列からレベルを落とすには、以下を使用します。
subdf <- subset(df, numbers <= 3)
subdf[] <- lapply(subdf, function(x) if(is.factor(x)) factor(x) else x)
関連
-
[解決済み】エラー。Rの次元数が正しくない
-
[解決済み】R ggplot2 で scale_x_discrete を使用する。
-
[解決済み】RでAIC中に行数が変化するのはなぜですか?そうならないようにするにはどうしたらいいですか?
-
[解決済み】「Error in stripchart.default(x1, ...) : invalid plotting method」エラーを回避する方法は?
-
[解決済み】起動時にパーをデフォルト値にリセットする方法
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] データフレームのリストを行単位で1つのデータフレームに結合する
-
[解決済み】データフレームから特定の列を抽出する
-
[解決済み] 値の順序を変えずに要因のレベルを並べ替える
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】R:関数に有限な'ylim'値が必要
-
[解決済み】エラー:ベクターメモリの枯渇(制限に達したか) R 3.5.0 macOS
-
[解決済み】RでのMLEエラー:'vmmin'の初期値が有限でない
-
[解決済み】ggplotのエラー。関数型オブジェクトのスケールを自動的に選択する方法がわかりません。
-
[解決済み】RでAIC中に行数が変化するのはなぜですか?そうならないようにするにはどうしたらいいですか?
-
[解決済み】Rヒストグラムの範囲エラー:いくつかの'x'がカウントされない; 'break'が'x'の範囲に及ばないかもしれない
-
[解決済み】Rで結果の行数がベクトル長(arg 2)の倍数でない件
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
-
[解決済み】R4DSのエラー比較(1)は、アトミック型とリスト型でのみ可能です
-
[解決済み】"object not interpretable as a factor "というエラーの意味は?[クローズド]