R×forcats::fct_c 複数の因子を結合する

R言語のforcatsパッケージに含まれているfct_c()関数について解説します。この関数は、「2つ以上の因子型のデータを結合したいけれど、要素名が数字に化けたり、水準が消えたりしてほしくない」ときに使える関数です。

forcatsパッケージは、因子型(factor型)データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。

概要

fct_c()は、因子を連結し、因子水準を組み合わせるための関数です。fct_c()は、同じであるはずなのにそうではない複数のソースからの因子をまとめる便利な方法です。

使い方


fct_c(...)

引数

因子を指定します。
⁠!!!を使用して因子のリストを結合できます。

使用例

準備

あらかじめ、tidyverseパッケージまたはforcatsパッケージを読み込んでおきます。


# library(tidyverse)でもよい
library(forcats)

解説のために、次の因子を使用します。


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

複数の因子を結合する

因子F1F2を結合するには次のようにします。


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

リストを使用して複数の因子を結合する

リストを使用して、因子F1F2を結合するには次のようにします。


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

参考文献