前回の授業では、2次元データを散布図にしました。 ただ、散布図にできるのは、量的データの場合です。 今日は、質的データの場合を考えます。
ここで、例として、ある小学校の5年生に対して、以下のようなアンケート調査が行われたとしましょう。
小五男女の体育の好き嫌いアンケート
問1 あなたは男女のどちらですか。
1. 男子 2. 女子
問2 あなたは体育が好きですか。
1. 好き 2. 嫌い
そして、以下のようなアンケート結果が得られたとします。
児童 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
男女 | 2 | 2 | 2 | 1 | 1 | 1 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 1 | 1 |
体育 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 1 | 1 | 1 | 1 | 2 |
これは、2次元の質的データです。 このようなデータは、クロス集計表というものにまとめられます。
クロス集計表 ( cross tabulation table )とは、変数 x (今回は男女)の項目(男子、女子)を縦に並べ、変数 y (体育)の項目(好き、嫌い)を横に並べ、項目の交わる部分に対応するデータの度数を書き込んだ表です。
男女 | 体育 | 合計 | |
---|---|---|---|
好き | 嫌い | ||
男子 | 5 | 1 | 6 |
女子 | 7 | 2 | 9 |
合計 | 12 | 3 | 15 |
クロス集計表は、 分割表 ( contingency table )や クロス表 ( cross table )とも呼ばれます。
上記のクロス集計表から、何が読み取れるでしょうか。 体育の好きな男子が5人、女子が7人だから、女子のほうが男子より体育が好きだと言っていいでしょうか。 そもそも、アンケート調査した人数が男女で異なっているので、人数を比較するのではなく、割合を比較すべきです。 この割合、すなわち度数÷合計を、 相対度数 ( relative frequency )と呼びます。 クロス集計表に相対度数を追加すると、次のようになります。
男女 | 体育 | 合計 | |
---|---|---|---|
好き | 嫌い | ||
男子 |
5
83% |
1
17% |
6
100% |
女子 |
7
78% |
2
22% |
9
100% |
合計 |
12
80% |
3
20% |
15
100% |
これで、体育の好きな男子が83%、女子が78%だから、男子のほうが女子より体育が好きだと言えます。 (もちろん、このような結論を出すには、アンケートの人数が少なすぎますが。)
なお、今回の相対度数は、度数を横方向の合計で割りました。 これを横比と言います。 度数を縦方向の合計で割った、縦比の相対度数も考えられます。
男女 | 体育 | 合計 | |
---|---|---|---|
好き | 嫌い | ||
男子 |
5
42% |
1
33% |
6
40% |
女子 |
7
58% |
2
67% |
9
60% |
合計 |
12
100% |
3
100% |
15
100% |
さらに、度数を全度数で割った相対度数もあり得ます。
男女 | 体育 | 合計 | |
---|---|---|---|
好き | 嫌い | ||
男子 |
5
33% |
1
7% |
6
40% |
女子 |
7
47% |
2
13% |
9
60% |
合計 |
12
80% |
3
20% |
15
100% |
横比、縦比、全体比のどの相対度数を使うべきかはデータによりますが、多くの場合、横比が使われます。
量的な2次元データは散布図にする、質的な2次元データはクロス集計表にする、と分かりました。 では、質的データと量的データの組み合わせは、どうすればいいでしょうか。
以下のデータは、ある高校の生徒の性別と体重です。 男女(1=男子、2=女子)は質的データで、体重は量的データです。
生徒 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
性別 | 2 | 1 | 1 | 2 | 1 | 1 | 1 | 2 | 2 | 1 |
体重(kg) | 51.0 | 71.1 | 67.2 | 56.1 | 55.1 | 61.0 | 57.6 | 50.5 | 50.1 | 68.0 |
このような場合は、量的データを適切な階級に分ければ、クロス集計表にまとめられます。
性別 | 体重(kg) | 合計 | ||
---|---|---|---|---|
50〜60 | 60〜70 | 70〜80 | ||
男子 | 2 | 3 | 1 | 6 |
女子 | 4 | 0 | 0 | 4 |
合計 | 6 | 3 | 1 | 10 |
それでは、Excelを利用して、クロス集計表を作成しましょう。 次のExcelファイルをダウンロードしてください。
child | gender | physical |
---|---|---|
1 | 2 | 2 |
2 | 2 | 1 |
3 | 2 | 1 |
... | ... | ... |
15 | 1 | 2 |
Excelでクロス集計表を作成するには、Excelの関数(COUNTIFSなど)を利用しても可能ですが、ピボットテーブルの作成機能を利用したほうが簡単です。
まず、リボンの「データ」をクリックし、「分析」項目で「ピボットテーブル」の三角ボタン→「手動ピボットテーブル」とクリックします。 (Windowsの場合は、リボンの「挿入」をクリックし、「テーブル」項目の「ピボットテーブル」をクリックします。) すると、「ピボットテーブルの作成」ウィンドウが開くので、「このブックのテーブルまたは範囲を使用」ラジオ・ボタンをオンにし、「場所」入力欄の右のボタンをクリックして、データの範囲(セルB2からC17まで)をドラッグします。 「既存のワークシート」ラジオ・ボタンをオンにし、「場所」入力欄の右のボタンをクリックして、余白(セルE2)をクリックします。
すると、「ピボットテーブルビルダー」ウィンドウ(Windowsの場合は「ピボットテーブルのフィールドリスト」ウィンドウ)が開くので、「gender」を「行ラベル」にドラッグ・アンド・ドロップし、「physical」を「列ラベル」にドラッグ・アンド・ドロップし、「gender」を「値」にドラッグ・アンド・ドロップします。
すると、ピボットテーブルが作成されます。
ただし、この表はデータの個数を数えているのではなく、データの合計をしています。 これを切り替えるために、表の左上(セルE2)を右クリックして「フィールドの設定」をクリックします。
「集計の方法」の「データの個数」をクリックして、「OK」ボタンをクリックします。
すると、データの個数を数えた表に切り替わります。
次に、このピボットテーブルをコピー・アンド・ペーストして、クロス集計表らしく直しましょう。 ただし、ピボットテーブル全体をドラッグしてから右クリックしても、「コピー」が選べないので、メニューバーで「編集」→「コピー」とクリックします。 あとは、ペースト先(例えばセルJ2)を右クリックし、「形式を選択してペースト」をクリックし、「値」をクリックします。
不要な文字を消し、「1」を「男子」、「2」を「女子」などと書き換えます。 最後に、読みやすくするために罫線を引きます。 これで、クロス集計表が完成します。
相対度数を追加したクロス集計表も作成しましょう。 相対度数は横比で計算することにします。
まず、クロス集計表を余白(例えばセルO2)にコピー・アンド・ペーストします。 ペーストは、値のみにしてください。
表を1行おきにするために、空けたい範囲(セルO5からR5まで)をドラッグし、右クリックして「挿入」をクリックします。
「下方向にシフト」をクリックして、「OK」ボタンをクリックします。
これを繰り返して、表を1行おきにします。
セルP5に数式=P4/$R4を入力し、セルの表示形式をパーセンテージにします。 このセルを1行おきにコピー・アンド・ペーストすると、すべての相対度数が計算されます。
罫線を引いて読みやすくすれば、完成です。
クロス集計表を分かりやすくするために、グラフ化してみましょう。 ここでは、3次元の棒グラフを作成します。
まず、クロス集計表のラベルとデータの範囲(セルJ3からL5まで)をドラッグします。 そして、リボンの「グラフ」(Windowsの場合は「挿入」)をクリックし、「グラフの挿入」項目の「縦棒」をクリックし、「3-D縦棒」項目の「3-D縦棒」をクリックします。 すると、3次元の棒グラフが表示されます。
リボンの「グラフ レイアウト」をクリックし、「ラベル」項目で「グラフ タイトル」→「タイトルをグラフの上に表示」とクリックし、グラフ・タイトルを「小五児童の男女と体育の好き嫌い」に変更します。 また、右側の凡例をクリックし、deleteキーで削除します。
同じく、「ラベル」項目で「軸ラベル」→「横軸ラベル」→「軸ラベルを軸の下に配置」とクリックし、横軸ラベルを「体育」に変更します。 「軸ラベル」→「縦軸ラベル」→「軸ラベルを垂直に配置」とクリックし、縦軸ラベルを「人数(人)」に変更します。 「軸ラベル」→「奥行き軸ラベル」→「軸ラベルを水平に配置」とクリックし、奥行き軸ラベルを「男女」に変更します。 これで、3次元の棒グラフが完成します。
ある小学校で、2年生と5年生の合計75人の児童に対して、以下のアンケートを実施したとします。
小学生の学習塾への通学アンケート
問1 あなたの学年を教えてください。
( )年生
問2 あなたは学習塾に通っていますか。
1. 通っている 2. 通っていない
このアンケートの結果をまとめたExcelファイルをダウンロードしてください。
child | year | school |
---|---|---|
1 | 5 | 2 |
2 | 2 | 1 |
3 | 2 | 2 |
... | ... | ... |
75 | 5 | 1 |
(1)このデータのクロス集計表を作成してください。
(2)相対度数を追加したクロス集計表も作成してください。 相対度数は横比で計算してください。
(3)このクロス集計表を3次元の棒グラフにしてください。
今日の演習6の答案(Excelファイル)をメールで提出してください。 差出人は学内のメール・アドレス(学生番号@cis.twcu.ac.jp)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(11月4日)を明記してください。
「Rコマンダー」でも、クロス集計表が作成できます。 あらかじめ「Rコマンダー」を起動して、Excelシートのデータの範囲(セルB2からC17まで)をインポートしておいてください。 念のため、「Rコマンダー」ウィンドウの「データセットを表示」ボタンをクリックして、インポートしたデータを確認します。
まず、男女のデータと、体育の好き嫌いのデータを、質的データに変換します。
「Rコマンダー」ウィンドウで、「データ」→「アクティブデータセット内の変数の管理」→「数値変数を因子に変換」とクリックします。 すると、「数値変数を因子に変換」ウィンドウが開くので、「変数」項目で「gender」をクリックし、「水準名を指定」ラジオ・ボタンをオンにし、「新しい変数名...」入力欄に「gender2」と入力して、「OK」ボタンをクリックします。
すると、「水準名」ウィンドウが開くので、「1」入力欄に「boy」、「2」入力欄に「girl」と入力して、「OK」ボタンをクリックします。
同様に、「Rコマンダー」ウィンドウで「データ」→「アクティブデータセット内の変数の管理」→「数値変数を因子に変換」とクリックし、「数値変数を因子に変換」ウィンドウの「変数」項目で「physical」をクリックし、「水準名を指定」ラジオ・ボタンをオンにし、「新しい変数名...」入力欄に「physical2」と入力して、「OK」ボタンをクリックします。
「水準名」ウィンドウの「1」入力欄に「like」、「2」入力欄に「dislike」と入力して、「OK」ボタンをクリックします。
念のため、「データセットを表示」ボタンをクリックして、データを確認します。
質的データに変換できたので、「Rコマンダー」ウィンドウで、「統計量」→「分割表」→「2元表」とクリックします。 すると、「2元表」ウィンドウが開くので、「行の変数」項目で「gender2」をクリックし、「列の変数」項目で「physical2」をクリックし、「行のパーセント」ラジオ・ボタンをオンにし、「独立性のカイ2乗検定」チェックボックスをオフにして、「OK」ボタンをクリックします。
すると、クロス集計表とその相対度数が表示されます。