何はともあれクロス集計!
さて、いよいよデータ分析に入っていきましょう!“性別”や“接触広告”で、“CV数”がどのくらい違うのか確認したいと思います。こんな時は、、、クロス集計が便利ですよ!
コードはこのようになってます。
table(sample$CV,sample$SEX)

table(sample$CV,sample$AD)

一つ目の変数(CV)が行、二つ目の変数(AD)が列になっていますね。男性は1人を除いてCVしている一方で、女性はCVしていない人の方が多いですね。また、接触広告ではメルマガが一番人気のようです。
ちなみに先ほどの例は名義変数と名義変数の組み合わせでした。
名義変数と量的変数との組み合わせでやってみると…
table(sample$CV,sample$AGE)

アララ、年齢全てが列に表示されてしまって、何が何だかよーわからへんなぁ、となってしまいます。こんな時はCV別に平均値などを出力して傾向を掴みましょう。
by(sample$AGE,sample$CV,summary)

CV=noについて平均値と中央値がほぼ一緒ですね。ということは平均値を中心にして左右対称になっていることが示唆されています。
CV=yesは、平均値が中央値を2.4歳ほど下回っています。ここからは、かなり年齢が低い人の存在が平均値を引き下げていることが伺われます。
視覚化してもっとわかり易く!
ここからはRのカテゴリカルデータの可視化を拡張するvcdパッケージを活用します!(パッケージのインストール方法は前回ご紹介しています)
パッケージをスタンバイさせます。
library(vcd)
mosaic(SEX ~ CV , data = sample)

モザイクグラフと呼ばれるこの図、面積が値の大きさを表しています。CV=yesかつ男性が最も大きい組み合わせですね。
mosaic(AD ~ CV , data = sample)

CVと接触広告との組み合わせではこのようになります。CVと接触広告と性別を同時に図示したいって思いますよね。できます!(キリッ
mosaic(CV~AD|SEX , data = sample)

続いて、年齢とCVについても図示してみましょう。これは前々回行った箱ひげ図(ボックスプロット)が便利です。
boxplot(sample$AGE ~ sample$CV)

もちろん、前回紹介したggplotを使用することもできます!
library(ggplot2)
ggplot(sample, aes(x = CV, y = AGE)) + geom_boxplot()

CVのyes or noで色分けしたいなぁ、と思ったらちょっと追加するとできますよ。
ggplot(sample, aes(x = CV, y = AGE)) + geom_boxplot(aes(fill = CV))

fill=
の後ろで色分けの基準変数を設定します。
簡単! 2015年2月10日「3つ」覚えて分析から視覚化まで即実践!Rでできるデータ分析講座開催
Rをインストールしたが、無骨なUIに「今日はこのへんで……」と、そっと閉じてしまった方にオススメです!
本講座では実機を使って「できるだけわかりやすく」グラフ化&データ分析をワークショップ形式で簡単に身に付けることができます。