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

fct_collapse()の概要

fct_collapse()は、因子水準を手動で定義されたグループにまとめるための関数です。

fct_collapse()の使い方

forcats::fct_collapse()の使い方は次になります。


fct_collapse(.f, ..., other_level = NULL, group_other = "DEPRECATED")

fct_collapse()の引数の意味

.f

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

名前付き文字ベクトルのシリーズを指定します。各ベクトルのレベルは名前に置き換えられます。

other_level = NULL

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

group_other = “DEPRECATED”

非推奨・… に指定されていないすべての水準を「other」に置き換えるかどうかを指定します。

準備

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


library(tidyverse)

解説のために、次の因子を使用します。


F <- fct(letters[floor(runif(20, min = 1, max = 5))])
F

 [1] d a b a b a c b d d c b c d a b a b d b
Levels: d a b c

因子水準を手動でまとめる

因子Fに対して、因子水準を手動でまとめるには次のようにします。


fct_collapse(
    F,
    X = c("a", "b"),
    Y = "c"
  )

 [1] d X X X X X Y X d d Y X Y d X X X X d X
Levels: d X Y
R×forcats::fct_collapse 因子水準を手動でまとめる