R言語のforcatsパッケージに含まれているfct_count()関数について解説します。この関数は、「因子型(factor)データの各因子水準の出現回数(頻度)をカウントし、きれいなデータフレーム(tibble)形式で集計したいとき」ときに使える関数です。table()関数と似ていますが、その後のデータ分析やグラフ描画(ggplot2など)にそのまま引き渡しやすい形で出力してくれるのが大きな強みです。
forcatsパッケージは、因子型(factor型)データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。
概要
fct_count()は、因子内のエントリをカウントするための関数です。
使い方
fct_count(f, sort = FALSE, prop = FALSE)
引数
.f
因子または文字列ベクトルを指定します。
sort = FALSE
TRUEの場合、最も一般的な値が最上位に表示されるように結果を並べ替えます。
prop = FALSE
TRUEの場合、限界表の割合を計算します。
使用例
準備
あらかじめ、tidyverseパッケージまたはforcatsパッケージを読み込んでおきます。
# library(tidyverse)でもよい
library(forcats)
解説のために、次の因子を使用します。
F <- fct(letters[floor(runif(20, min = 1, max = 5))])
F
[1] b a b b b a d b a b d c a b a c c d a c
Levels: b a d c
因子水準の個数を数える
因子Fに対して、因子水準の個数を数えるには次のようにします。
fct_count(F)
f n
1 b 7
2 a 6
3 d 3
4 c 4