R言語で、因子水準を変更する方法について解説します。因子の操作には、tidyverseパッケージに含まれているforcatsパッケージを使用するのが便利です。ここでは、forcatsパッケージのfct_recode()を使用した方法についてお伝えします。
fct_recodeの概要
fct_recode()は、因子水準を変更するための関数です。
fct_recode()の使い方
fct_recode(.f, ...)
fct_recode()の引数
f
因子(または文字ベクトル)を指定します。
…
名前が新しい因子水準を示し、値が古い因子水準を示す名前付き文字ベクトルのシーケンスを指定します。
特に指定されていない因子水準はそのまま残ります。因子水準にNULLという名前を付けると、因子水準を削除できます。
準備
あらかじめ、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_recode(f, a = "A", c = "C", e = "E")
[1] a B c D e
Levels: a B c D e
R×forcats::fct_recode 因子水準を変更する