R言語で、複数の因子(ファクター)を結合する方法について解説します。因子の操作には、tidyverseパッケージに含まれているforcatsパッケージを使用するのが便利です。ここでは、forcatsパッケージのfct_c()を使用した方法についてお伝えします。
fct_c()の概要
fct_c()は、因子を連結し、因子水準を組み合わせるための関数です。fct_anon()は、同じであるはずなのにそうではない複数のソースからの因子をまとめる便利な方法です。
fct_c()の使い方
forcats::fct_c()の使い方は次になります。
fct_c(...)
fct_c()の引数の意味
…
因子を指定します。
!!!を使用して因子のリストを結合できます。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
解説のために、次の因子を使用します。
F1 <- fct(letters[floor(runif(20, min = 1, max = 5))])
F1
[1] a a c c d d c a c d b c c b d d a d a d
Levels: a c d b
F2 <- fct(LETTERS[floor(runif(20, min = 1, max = 5))])
F2
[1] A D A B D C C A C D B D C B B D A B C C
Levels: A D B C
複数の因子を結合する
因子F1とF2を結合するには次のようにします。
fct_c(F1, F2)
[1] a a c c d d c a c d b c c b d d a d a d A D A B D C C A C D B D C B B D A B C C
Levels: a c d b A D B C
リストを使用して、因子F1とF2を結合するには次のようにします。
fct_c(!!!list(F1, F2))
[1] a a c c d d c a c d b c c b d d a d a d A D A B D C C A C D B D C B B D A B C C
Levels: a c d b A D B C
R×forcats::fct_c 複数の因子を結合する