R×forcats::fct_collapse 因子水準を手動でまとめる

R言語のforcatsパッケージに含まれているfct_collapse()関数について解説します。この関数は、「複数の因子水準を、指定した新しい水準に一括で統合・集約したい」ときに使える関数です。データのカテゴリが細かすぎる場合や、表記揺れを統一したい場合に非常に便利です。

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

概要

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

使い方


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

引数

.f

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

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

other_level = NULL

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

group_other = “DEPRECATED”

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

使用例

準備

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


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

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


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

参考文献