R言語で、因子(ファクター)に対して、指定回数未満しか出現しない水準を「その他」にする方法について解説します。因子の操作には、tidyverseパッケージに含まれているforcatsパッケージを使用するのが便利です。ここでは、forcatsパッケージのfct_lump_min()を使用した方法についてお伝えします。

fct_lump_minの概要

fct_lump_min()は、指定回数未満しか出現しない水準を「その他」にするための関数です。

fct_lump_min()の使い方


fct_lump_min(f, min, w = NULL, other_level = "Other")

fct_lump_min()の引数

f

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

min

少なくともmin回数出現するレベルを保持します。

w = NULL

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

other_level = “Other”

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

準備

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


library(tidyverse)

指定回数未満しか出現しない水準を「その他」にする

指定回数未満しか出現しない水準を「その他」にするには次のようにします。


f <- factor(c(rep("A", 5), rep("B", 5), rep("C", 2)))
fct_lump_min(f, 3)

 [1] A     A     A     A     A     B     B     B     B     B     Other Other
Levels: A B Other
R×forcats::fct_lump_min 指定回数未満しか出現しない水準を「その他」にする