Rを用いたクロス集計
- 本章で用いる実習用ファイル
データを読む:質的データの集計導入問題と同じデータを、Rを使用してクロス集計を行う。
スクリプト
crosstab関数(socialStatisticsBasic.Rで読み込まれる自作関数)
- crosstab(row,column,data)
-
- row=行データとなる項目名
- column=列データとなる項目名
- data=モデル中の変数を含むデータフレーム(row, columnがおのおの実体を持つ時は省略可)
出力結果
クロス集計表
属性によるカテゴリーのサンプルサイズが異なれば、その意識・行動の違いを観測値ベースで比較してもあまり意味がない。
投票に行く | 行かない | 計 | |
---|---|---|---|
20以上 | 25 | 25 | 50 |
20未満 | 30 | 70 | 100 |
計 | 55 | 95 | 150 |
このようなクロス表が得られたとして、20未満の学生は20以上の学生より投票に行く傾向がある、という解釈は端的に間違っている。投票に行くとしているのが、20以上の学生は50%に対して、20未満の学生は30%に過ぎない。つまり比率で比較しなければならない。
というわけで比率計算を行う。
比率計算(部分/全体)は分母となる基準値をどこに置くかによって3種類ある。一般的にクロス集計表で欲しい比率は属性ごとの比率なので、属性を行側に置けば「行方向の比率」を用いる。
投票に行く | 行かない | 計 | |
---|---|---|---|
20以上 | 50.00% | 50.00% | 100.00% |
20未満 | 30.00% | 70.00% | 100.00% |
計 | 36.67% | 63.33% | 100.00% |
投票に行く | 行かない | 計 | |
---|---|---|---|
20以上 | 45.45% | 26.32% | 33.33% |
20未満 | 54.55% | 73.68% | 66.67% |
計 | 100.00% | 100.00% | 100.00% |
投票に行く | 行かない | 計 | |
---|---|---|---|
20以上 | 16.67% | 16.67% | 33.33% |
20未満 | 20.00% | 46.67% | 66.67% |
計 | 36.67% | 63.33% | 100.00% |
今回は男女における回答傾向の違いを見たいので、男女ごとの比率計算を行っている「$row.ratio」を参照する。
独立性の検定
- $chisq.test
-
- Peason→「Pearsonのカイ2乗:漸近有意確率(両側)」
- Yates→「連続修正:漸近有意確率(両側)」(※自由度1の時のみ出力)
- Fisher→「Fhisherの直接法:正確な有意確率(両側)」(※計算量によっては出力されない)
この検定は「期待値と観測値が異なっている」ことを示す両側検定である。ただし観測値 - 期待値を2乗しているので、棄却値はグラフの右側にしか出ない。したがって数式上ではz検定・t検定・F検定の片側検定と同等になる(なおこのクロス表では観測値 - 期待値の符号が確定しないので(セルによって異なる)、片側検定は存在しない)。
一般的にはPeasonを参照すれば良い。
残差分析
独立性の検定はクロス集計全体で行項目と列項目の関係を読み取ることが出来るかどうかを検証するためのものである。個別セルに対する読み取り(男子生徒は帰宅時間について親は「厳しい」と答える傾向がある)の有意性を検証したわけではない。そこでセルごとの傾向とその有意性を改めて検証する。この分析を残差分析と呼ぶ。
ここで出力されているのは調整済み標準化残差である。この符号からセルごとのズレの方向(男子生徒であることは「厳しい」という回答に対して正の効果を持つ)を読み取る。こうしたセルごとの解釈が統計的有意性を持つかどうかが問題となる。
$res.p.value 1 2 3 female 0.1972 0.0000 0.0019 male 0.1972 0.0000 0.0019
p値が5%未満の値が有意である。有意なセルに対して標準化残差の符号を読み取ることが出来る。
- 女子生徒は「どちらとも言えない」と答える傾向が男子生徒より強い
- 男子生徒は「厳しくない」と答える傾向が女子生徒より強い
効果量Cramer's V
- Cramer's V
-
Cramer's Vの目安 効果量V 効果の目安 0.5 大 0.3 中 0.1 小 0 なし