R×forcats::fct_other 因子水準をその他にする

R言語のforcatsパッケージに含まれているfct_other()関数について解説します。この関数は、「因子型変数の中で残したいカテゴリまたは消したいカテゴリをピンポイントで手動指定して、それ以外をすべて『その他』にまとめたい」ときに使える関数です。

forcatsパッケージは、因子型(factor型)データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。

概要

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

使い方


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

引数

f

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

keep

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

drop

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

other_level = “Other”

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

使用例

準備

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


# library(tidyverse)でもよい
library(forcats)

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


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

参考文献