R言語で、因子水準をその他にする方法について解説します。因子の操作には、tidyverseパッケージに含まれているforcatsパッケージを使用するのが便利です。ここでは、forcatsパッケージのfct_other()を使用した方法についてお伝えします。

fct_otherの概要

fct_other()は、因子水準をその他にするための関数です。

fct_other()の使い方


fct_other(f, keep, drop, other_level = "Other")

fct_other()の引数

f

因子(または文字ベクトル)を指定します。

keep

keepとdrop のいずれかを選択します。
keepはリストされた因子水準を保持し、その他すべてをother_levelに置き換えます。

drop

keepとdrop のいずれかを選択します。
dropはリストされた因子水準をother_levelに置き換え、すべてをそのままにします。

other_level = “Other”

「その他」の値に使用される因子水準の値。常にレベルの最後に配置されます。

準備

あらかじめ、tidyverseパッケージを読み込んでおきます。


library(tidyverse)

具体例で使用する変数を準備します。


f <- fct(c("A", "B", "C", "D", "E"))
f

[1] A B C D E
Levels: A B C D E

因子水準をその他にする

指定した因子水準以外を「Other」にするには次のようにします。


fct_other(f, keep = c("C", "D", "E"))

[1] Other Other C     D     E    
Levels: C D E Other

指定した因子水準を「Other」にするには次のようにします。


fct_other(f, drop = c("C", "D", "E"))

[1] A     B     Other Other Other
Levels: A B Other
R×forcats::fct_other 因子水準をその他にする