「心理・教育統計法特論」第6章名義尺度の検定
比率の差の検定
1 2 3 4 5
| library(knitr) 人数<-c(28,12) d<-data.frame(人数) row.names(d)<-c("好き","嫌い") kable(d)
|
Chi-squared test for given probabilities
data: d
X-squared = 6.4, df = 1, p-value = 0.01141
2×2のクロス表の検定
1 2 3 4 5
| 被害者13歳未満<-c(26,30) 被害者13歳以上<-c(13,40) d<-data.frame(被害者13歳未満,被害者13歳以上) row.names(d)<-c("犯人は無職","犯人は有職") kable(d)
|
|
被害者13歳未満 |
被害者13歳以上 |
犯人は無職 |
26 |
13 |
犯人は有職 |
30 |
40 |
1 2
| ch<-chisq.test(d,correct =F) ch
|
Pearson’s Chi-squared test
data: d
X-squared = 5.6836, df = 1, p-value = 0.01712
1
| kable(ch$expected,digits=2)
|
|
被害者13歳未満 |
被害者13歳以上 |
犯人は無職 |
20.04 |
18.96 |
犯人は有職 |
35.96 |
34.04 |
1
| chisq.test(d,correct =T)
|
Pearson’s Chi-squared test with Yates’ continuity correction
data: d
X-squared = 4.7705, df = 1, p-value = 0.02895
m×kのクロス表の検定
1 2 3 4 5
| 被害者13歳未満<-c(7,14,35) 被害者13歳以上<-c(5,1,47) d<-data.frame(被害者13歳未満,被害者13歳以上) row.names(d)<-c("車両なし","自転車","自動車・二輪車") kable(d)
|
|
被害者13歳未満 |
被害者13歳以上 |
車両なし |
7 |
5 |
自転車 |
14 |
1 |
自動車・二輪車 |
35 |
47 |
1 2
| ch<-chisq.test(d,correct =F) ch
|
Pearson’s Chi-squared test
data: d
X-squared = 13.2836, df = 2, p-value = 0.001305
1
| kable(ch$expected,digits=2)
|
|
被害者13歳未満 |
被害者13歳以上 |
車両なし |
6.17 |
5.83 |
自転車 |
7.71 |
7.29 |
自動車・二輪車 |
42.13 |
39.87 |
人数の少ないセルがある場合
1 2 3 4 5
| 被害者13歳未満<-c(41,10,2,3) 被害者13歳以上<-c(28,9,5,9) d<-data.frame(被害者13歳未満,被害者13歳以上) row.names(d)<-c("偽計","急襲","因縁","電話・メール") kable(d)
|
|
被害者13歳未満 |
被害者13歳以上 |
偽計 |
41 |
28 |
急襲 |
10 |
9 |
因縁 |
2 |
5 |
電話・メール |
3 |
9 |
1 2
| ch<-chisq.test(d,correct =F) ch
|
[3] 警告: Warning in chisq.test(d, correct = F) :
Chi-squared approximation may be incorrect
Pearson’s Chi-squared test
data: d
X-squared = 6.5683, df = 3, p-value = 0.08701
Fisherの直接法を使う
Fisher’s Exact Test for Count Data
data: d
p-value = 0.09245
alternative hypothesis: two.sided
1
| kable(ch$expected,digits=2)
|
|
被害者13歳未満 |
被害者13歳以上 |
偽計 |
36.11 |
32.89 |
急襲 |
9.94 |
9.06 |
因縁 |
3.66 |
3.34 |
電話・メール |
6.28 |
5.72 |
次元やカテゴリーが多い場合
例として、上記m×kのクロス表の検定
1 2 3 4 5
| 被害者13歳未満<-c(7,14,35) 被害者13歳以上<-c(5,1,47) d<-data.frame(被害者13歳未満,被害者13歳以上) row.names(d)<-c("車両なし","自転車","自動車・二輪車") ch<-chisq.test(d,correct =F)
|
調整済み標準化残差(adjusted standardized residual)
1
| kable(ch$stdres,digits=2)
|
|
被害者13歳未満 |
被害者13歳以上 |
車両なし |
0.51 |
-0.51 |
自転車 |
3.50 |
-3.50 |
自動車・二輪車 |
-3.16 |
3.16 |