R言語で、因子水準を再ラベル付けする方法について解説します。因子の操作には、tidyverseパッケージに含まれているforcatsパッケージを使用するのが便利です。ここでは、forcatsパッケージのfct_relabel()を使用した方法についてお伝えします。
fct_relabelの概要
fct_relabel()は、必要に応じて関数を使用して因子水準を再ラベル付けするための関数です。
fct_relabel()の使い方
fct_relabel(.f, .fun, ...)
fct_relabel()の引数
f
因子(または文字ベクトル)を指定します。
.fun
各因子水準に適用される関数を指定します。
1つの文字引数を受け取り、入力と同じ長さの文字ベクトルを返す必要があります。~ を使って(purrr のような)ショートカットを作成することもできます。~paste(., “x”)は、function(.)paste(., “x”)と同等です。
…
funのための追加の引数を指定します。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
具体例で使用する変数を準備します。
f <- fct(c("A", "B", "C", "D", "E"))
f
[1] A B C D E
Levels: A B C D E
因子水準を再ラベル付けする
因子水準を再ラベル付けするには次のようにします。
fct_relabel(f, ~ paste("X", ., sep = "_"))
[1] X_A X_B X_C X_D X_E
Levels: X_A X_B X_C X_D X_E