R×forcats::fct_lump_prop 指定割合以下しか出現しない水準を「その他」にする

R言語のforcatsパッケージに含まれているfct_lump_prop()関数について解説します。この関数は、「因子型変数の中で構成比(割合)が指定した基準に満たないマイナーなカテゴリーを、まとめて『その他』にグループ化したい」ときに使える関数です。データの可視化やモデリングの前に、種類が多すぎるカテゴリをすっきり整理するのに非常に便利です。

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

概要

fct_lump_prop()は、指定割合以下しか出現しない水準を「その他」にするための関数です。

使い方


fct_lump_prop(f, prop, w = NULL, other_level = "Other")

引数

f

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

prop

正のpropは、少なくともpropの回数出現しない値をまとめます。負のpropは、最大で-propの回数出現しない値をまとめます。

w = NULL

f内の(水準ではない)各値の頻度の重みを示すオプションの数値ベクトルを指定します。

other_level = “Other”

「その他」の値に使用される水準の値を指定します。
常に水準の最後に配置されます。

使用例

準備

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


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

指定割合以下しか出現しない水準を「その他」にする

指定割合以下しか出現しない水準を「その他」にするには次のようにします。


f <- factor(c(rep("A", 5), rep("B", 5), rep("C", 2)))
fct_lump_prop(f, 0.2)

 [1] A     A     A     A     A     B     B     B     B     B     Other Other
Levels: A B Other

参考文献