『統計クイックリファレンス 第2版』第5章 カテゴリデータ p.131~134 カイ二乗値をR(R言語)で

Rコード

# カテゴリデータ カイ二乗値 『統計クイックリファレンス』p.131
#

# 仮説
#
# 帰無仮説
# Ho : xとyは独立である
# 対立仮説
# Ha : xとyは独立ではない


# 2 * 2表の各セルの観測値と期待値の差を使用する
#
# 観測値
# 標本やデータ集合内で観測した値
#
# 期待値
# 2変数が独立であった場合に期待される値

# セルの期待値の計算式
# Eij = ((i番目の行の合計) * (j番目の列の合計)) / 総計


喫煙状態と肺癌診断 <- data.frame(肺癌診断 = c(60, 10), 肺癌診断なし = c(300, 390))
喫煙状態と肺癌診断


# 同時度数
mt1 <- as.matrix(喫煙状態と肺癌診断, nrow = 2, ncol = 2)
mt1


rownames(mt1) <- c("現在喫煙", "現在喫煙なし")
mt1


# 周辺値と周辺度数
rowSums(mt1)
colSums(mt1)

sum(rowSums(mt1))
sum(colSums(mt1))


# セルの期待度数の計算
E11 <- (360 * 70) / 760
E11

E12 <- (360 * 690) / 760
E12

E21 <- (400 * 70) / 760
E21

E22 <- (400 * 690) / 760
E22

# 合計
sum(c(E11, E12, E21, E22))


# カイ二乗値を求める式
# ((Oij - Eij)^2) / Eij
res11 <- ((60 - 33.16)^2) / 33.16 # ((60 - E11)^2) / E11
res12 <- ((300 - 326.84)^2) / 326.84
res21 <- ((10 - 36.84)^2) / 36.84
res22 <- ((390 - 363.16)^2) / 363.16

# 合計値がカイ二乗値
sum(res11, res12, res21, res22)
# [1] 45.46673
# となるので、α = 0.05の棄却値3.841に対し、
# この約45.5ははるかに大きいので、
# 変数が独立であるという帰無仮説を棄却するには充分。


# R(R言語)の関数 カイ二乗値
chisq.test(mt1) # デフォルトでは、イェーツの補正がかかる
chisq.test(mt1, correct = FALSE) # イェーツの補正を外すと上記、計算通りに。
# p-value = 1.547e-11 であるので、
# 0.05よりもはるかに小さいので帰無仮説を棄却すべきことを示している。

R Console

> # カテゴリデータ カイ二乗値 『統計クイックリファレンス』p.131
> #
> 
> # 仮説
> #
> # 帰無仮説
> # Ho : xとyは独立である
> # 対立仮説
> # Ha : xとyは独立ではない
> 
> 
> # 2 * 2表の各セルの観測値と期待値の差を使用する
> #
> # 観測値
> # 標本やデータ集合内で観測した値
> #
> # 期待値
> # 2変数が独立であった場合に期待される値
> 
> # セルの期待値の計算式
> # Eij = ((i番目の行の合計) * (j番目の列の合計)) / 総計
> 
> 
> 喫煙状態と肺癌診断 <- data.frame(肺癌診断 = c(60, 10), 肺癌診断なし = c(300, 390))
> 喫煙状態と肺癌診断
  肺癌診断 肺癌診断なし
1       60          300
2       10          390
> 
> 
> # 同時度数
> mt1 <- as.matrix(喫煙状態と肺癌診断, nrow = 2, ncol = 2)
> mt1
     肺癌診断 肺癌診断なし
[1,]       60          300
[2,]       10          390
> 
> 
> rownames(mt1) <- c("現在喫煙", "現在喫煙なし")
> mt1
             肺癌診断 肺癌診断なし
現在喫煙           60          300
現在喫煙なし       10          390
> 
> 
> # 周辺値と周辺度数
> rowSums(mt1)
    現在喫煙 現在喫煙なし 
         360          400 
> colSums(mt1)
    肺癌診断 肺癌診断なし 
          70          690 
> 
> sum(rowSums(mt1))
[1] 760
> sum(colSums(mt1))
[1] 760
> 
> 
> # セルの期待度数の計算
> E11 <- (360 * 70) / 760
> E11
[1] 33.15789
> 
> E12 <- (360 * 690) / 760
> E12
[1] 326.8421
> 
> E21 <- (400 * 70) / 760
> E21
[1] 36.84211
> 
> E22 <- (400 * 690) / 760
> E22
[1] 363.1579
> 
> # 合計
> sum(c(E11, E12, E21, E22))
[1] 760
> 
> 
> # カイ二乗値を求める式
> # ((Oij - Eij)^2) / Eij
> res11 <- ((60 - 33.16)^2) / 33.16 # ((60 - E11)^2) / E11
> res12 <- ((300 - 326.84)^2) / 326.84
> res21 <- ((10 - 36.84)^2) / 36.84
> res22 <- ((390 - 363.16)^2) / 363.16
> 
> # 合計値がカイ二乗値
> sum(res11, res12, res21, res22)
[1] 45.46673
> # [1] 45.46673
> # となるので、α = 0.05の棄却値3.841に対し、
> # この約45.5ははるかに大きいので、
> # 変数が独立であるという帰無仮説を棄却するには充分。
> 
> 
> # R(R言語)の関数 カイ二乗値
> chisq.test(mt1) # デフォルトでは、イェーツの補正がかかる

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

data:  mt1
X-squared = 43.796, df = 1, p-value = 3.645e-11

> chisq.test(mt1, correct = FALSE) # イェーツの補正を外すと上記、計算通りに。

    Pearson's Chi-squared test

data:  mt1
X-squared = 45.474, df = 1, p-value = 1.547e-11

> # p-value = 1.547e-11 であるので、
> # 0.05よりもはるかに小さいので帰無仮説を棄却すべきことを示している。

参考文献

統計クイックリファレンス 第2版

統計クイックリファレンス 第2版