モザイクプロットと分割表(R Advent Calendar 2012)

これは,R Advent Calendar 2012の12日目担当分の記事です.

去年のAdvent Calendar以来,
なんと実質1年ぶりの記事の更新ということで,
この1年,何をやっていたんだろうなあと思ってしまう今日この頃です.
来年はもっともっと頑張ります,はい.

さてさて,今回はモザイクプットについて取り上げてみたいと思います.
モザイクプロットは,分割表の情報を可視化する方法の一つです.
こんな感じの絵が描かれます.

以下,順を追って説明していきましょう.

カテゴリカルデータの集計

データの集計は,データ分析の中でも最も基本的であり,かつ,
データの性質を理解する上で最も重要なタスクの一つと言えるでしょう.

ところで,データと一口に言ってもその種類は様々です.
身長や体重のような数値型のデータもあれば,
カテゴリカルなデータもあります.
この記事では専らカテゴリカルデータの集計に焦点を当てたいと思います.

分割表

ここでは,UCBAdmmissionsデータセットを例に取ります.
このデータセットは,
カリフォルニア大学バークレー校における入学試験において
性別,学部ごとに合格・不合格人数を集計したものです.
すなわち,性別,学部,合否の3つの次元があります.

合否と性別の関係をクロス集計すると,
次のようになります.

> tbl.gen.adm <- apply(UCBAdmissions, 1:2, sum)
> tbl.gen.adm
          Gender
Admit      Male Female
  Admitted 1198    557
  Rejected 1493   1278

このようなクロス集計表は分割表と呼ばれています.
分割表を用いて何かを比較をしたい場合,次の2通りが考えられます.

  • 比較1 合否ごとに算出した性別の割合の比較
  • 比較2 性別ごとに算出した合否の割合の比較


モザイクプロットを用いた分割表の情報表現

モザイクプロットは,比較1と2の両方の観点を織り交ぜて
分割表を端的に表現した可視化方法です.

すなわち,

  • 行方向の割合の比率を長方形の横幅で,
  • 列方向の割合の比率を長方形の縦幅で

表現します.

> mosaicplot(tbl.adm.gen, main="")


高次元分割表に対するモザイクプロット

高次元の分割表に対するモザイクプロットについても
同様に考えることができます.

例えば,4次元のタイタニック号のデータに対して
モザイクプロットを描画すると,
冒頭に挙げた次の図が得られます.


対数線形モデルについて

実際はモザイクプロットをプロットするときは,
期待度数と実際の度数を比較することがよく行われます.
この背景には対数線形モデルというものが用いられていますが,
記事を改めて書ければと思います.

参考文献