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