クロス表の分析の部分です。
A村
|
英語力上 |
英語力中 |
英語力下 |
中学 |
4 |
13 |
9 |
小5-6 |
7 |
14 |
9 |
小3-4 |
7 |
12 |
4 |
小1-2 |
9 |
5 |
3 |
# A村・B市の分析
x <- matrix( c( 4, 7, 7, 9, # 基本のクロス表
13, 14, 12, 5,
9, 9, 4, 3) ,4,3)
rownames(x) <- c("中学から","小5-6年","小3-4年","小1-2年") # 行ラベル
colnames(x) <- collb <- c("英語力・上","英語力・中","英語力・下") # 列ラベル
x; chisq.test(x) # A村クロス表、およびカイ2乗検定
x*3; chisq.test(x*3) # B市(単なるA村の3倍)クロス表、およびカイ2乗検定
グラフ類
par(mfrow=c(1,1), mar=c(3,5,2,2)) # (参考)パーセンテージ表示の棒グラフ
barplot(100*t(x/apply(x,2,sum)), ylab="%"
,beside=T, col=c(0:2), ylim=c(0,70))
legend(1,70,legend=collb,fill=c(0:2))
par(mfrow=c(1,2), mar=c(1,2,3,1)) # モザイクプロットによる比較
mosaicplot(x, col=T, main="A村")
mosaicplot(x*3, col=T, main="B市")
par(mfrow=c(1,2), mar=c(1,2,3,1))# モザイクプロットによる期待値との比較)
mosaicplot(x*3, col=T, main="B市")
mosaicplot(chisq.test(x*3)$expected, col=T, main="B市期待値")
統合されたクロス表
|
英語力上 |
英語力中 |
英語力下 |
小3-4以上 |
18 |
39 |
22 |
小1-2 |
9 |
5 |
3 |
# クロス表の統合(小3-4年以上をひとつのカテゴリに)
y <- rbind(apply(x[1:3,],2,sum),
x[4,] )
rownames(y) <- c("小学校3-4年以上", "小学校1-2年")
y
chisq.test(y)
par(mfrow=c(1,2),mar=c(1,2,3,1)) # 統合前と統語後の比較
mosaicplot(x, col=T, main="A村")
mosaicplot(y, col=T, main="A村(クロス表統合)")