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 複数の因子を結合する