R言語で、因子リストの因子水準を統一する方法について解説します。因子の操作には、tidyverseパッケージに含まれているforcatsパッケージを使用するのが便利です。ここでは、forcatsパッケージのfct_unify()を使用した方法についてお伝えします。
fct_unify()の概要
fct_unify()は、因子リストの因子水準を統一するための関数です。
fct_unify()の使い方
fct_unify(fs, levels = lvls_union(fs))
fct_unify()の引数
fs
因子リストを指定します。
levels = lvls_union(fs)
各因子に適用する水準の集合を指定します。
デフォルトではすべての因子水準の和集合になります。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
解説のために、次の因子を使用します。
fs <- list(fct(c("a")),
fct(c("a", "b")),
fct(c("a", "b", "c")))
fs
[[1]]
[1] a
Levels: a
[[2]]
[1] a b
Levels: a b
[[3]]
[1] a b c
Levels: a b c
使用例
因子リストの因子水準を統一するには次のようにします。
fct_unify(fs)
[[1]]
[1] a
Levels: a b c
[[2]]
[1] a b
Levels: a b c
[[3]]
[1] a b c
Levels: a b c