二乗検定・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以下のものがいずれかのセルに含まれているからである。この点に関して、次項目で触れる。