6.2 カテゴリ変数の要約
一方でカテゴリ変数は、代表値や分散によって含意を得るのではなく、頻度のカウント(集計)や、クロス集計を用いることが多い。これにより、各カテゴリにどれぐらいの観測数があるのかを確認することが可能になる。カテゴリ変数の内容(出現頻度)の確認には、table()
関数を用いる。また、with()
関数を用いて同様の結果を得ることも可能である。ここでは、前節で保存した顧客ベースのidposデータを用いる。
##
## female male
## 985 502
## gender
## female male
## 985 502
また、table関数にて2つのカテゴリ変数を指定することで、両変数に対応するカテゴリの出現頻度を返してくれる。このような表のことをクロス集計表とよぶ。例えば、同データにおける各デシルランクと性別の関係は以下のように示される。
## decile_rank
## gender 1 2 3 4 5 6 7 8 9 10
## female 102 100 99 94 106 103 97 83 98 103
## male 47 49 49 55 43 45 53 64 51 46
特定のカテゴリ(例、デシルランク)に着目して、カテゴリ変数(例、性別)についての集計を行うことも可能である。例えば、デシルランク10における男女差のみを調べたいときには、filter()
関数を用いれば良い。
## gender
## female male
## 103 46
カテゴリ変数と量的変数の関係を調べることも、グループ別に量的変数の要約を行う形で可能である。また、そのための手法はすでに我々は学習済みである。具体的には、前節で利用した group_by()
関数を用いる。例えば、合計支出額と購買頻度の平均と標準偏差を男女ごとに確認することは、以下のような指示で可能になる。なお、tidyverseを起動していない場合には、必要に応じて library(tidyverse)
を事前に指示してほしい。
idpos_cust %>%
group_by(gender) %>%
summarize(mon_m = mean(monetary),
mon_sd = sd(monetary),
freq_m = mean(frequency),
freq_sd = sd(frequency))
## # A tibble: 2 × 5
## gender mon_m mon_sd freq_m freq_sd
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 female 17511. 32770. 2.13 3.88
## 2 male 14878. 23222. 1.80 2.77