R言語で、因子水準を新規追加する方法について解説します。因子の操作には、tidyverseパッケージに含まれているforcatsパッケージを使用するのが便利です。ここでは、forcatsパッケージのfct_expand()を使用した方法についてお伝えします。
fct_expand()の概要
fct_expand()は、因子水準を新規追加するための関数です。
fct_expand()の使い方
forcats::fct_expand()の使い方は次になります。
fct_expand(f, ..., after = Inf)
fct_expand()の引数の意味
f
因子(または文字ベクトル)を指定します。
…
追加する因子水準を指定します。
すでに存在する因子水準は黙って無視されます。
after = Inf
新しい因子水準を配置する位置を指定します。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
解説のために、次の因子を使用します。
f <- fct(c("a", "d"), levels = c("a", "b", "d"))
因子水準を新規追加する
因子fに対して、新しい因子水準”c”を新規追加するには次のようにします。
fct_expand(f, "c")
[1] a d
Levels: a b d c
因子fに対して、新しい因子水準”c”を2番目に新規追加するには次のようにします。
fct_expand(f, "c", after = 2)
[1] a d
Levels: a b c d
R×forcats::fct_expand 因子水準を新規追加する