二乗検定・Rで検定

昨日の理論編(といっても期待値と検定についてしか述べてないが)を理解していれば、Rを使ったχ二乗検定は非常に楽。
以下のサイトを参考にした。

まずtblbiというオブジェクトに2群(ボディイメージ群、統制群)、2分類(脱頭足画、頭足画)からなる2×2分割表を代入する。

> tblbi<-matrix(c(10,10,0,20),ncol=2,byrow=T)
  • matrix:文字通り、マトリクスを作成する関数。
    • ncol:列数。当然nrowで行数の指定もできる。
    • byrow:デフォルトはFALSEで、マトリクスは列で埋め尽くされる。T(=TRUE)を選択したので行で埋め尽くされるマトリクスをつくろうとする。列数が指定されているので、列数を満たしながら行を作る。
  • c:ベクトルをつくる関数。

tblbiオブジェクトの中身を見てみる。

> tblbi
     [,1] [,2]
[1,]   10   10
[2,]    0   20

2×2分割表ができている。これをカイ二乗検定にかける。

> chisq.test(tblbi)

        Pearson's Chi-squared test with Yates' continuity correction

data:  tblbi 
X-squared = 10.8, df = 1, p-value = 0.001015

with Yates' continuity correctionとあるように、デフォルトでイェーツ補正をかけてくれる。
他の分割表もつくり、中身を見て、カイ二乗検定にかける、という手順を踏んでみることにする。

> tblpz<-matrix(c(4,16,0,20),ncol=2,byrow=T)
> tblpz
     [,1] [,2]
[1,]    4   16
[2,]    0   20

> chisq.test(tblpz)

        Pearson's Chi-squared test with Yates' continuity correction

data:  tblpz 
X-squared = 2.5, df = 1, p-value = 0.1138

Warning message: 
Chi-squared approximation may be incorrect in: chisq.test(tblpz) 

> tblms<-matrix(c(8,12,0,20),ncol=2,byrow=T)
> tblms
     [,1] [,2]
[1,]    8   12
[2,]    0   20
> chisq.test(tblms)

        Pearson's Chi-squared test with Yates' continuity correction

data:  tblms 
X-squared = 7.6562, df = 1, p-value = 0.005658

Warning message: 
Chi-squared approximation may be incorrect in: chisq.test(tblms) 

tblpz(パズル群)とtblms(模写群)に関して検定を行なったわけだが、近似値は正しくない恐れがある、という警告が出ている。これはおそらく期待値が5以下のものがいずれかのセルに含まれているからである。この点に関して、次項目で触れる。