こにしき(言葉・日本社会・教育)

関西学院大学(2016.04~)の寺沢拓敬のブログです(専門:言語社会学)。

統計勉強会(11/05)ハンドアウト用、Rスクリプト

クロス表の分析の部分です。

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村(クロス表統合)")