# 母分散の仮説検定(カイ二乗検定) # 母集団データ pdata <- na.omit(airquality$Wind) # 標本データ n <- 10 set.seed(1) sdata <- sample(pdata, n) # 不偏分散 ssq <- var(sdata) print(sprintf("標本 : n = %d, s^2 = %g", n, ssq), quote = FALSE) # 帰無仮説 sigmasq0 <- 4 print(sprintf("帰無仮説 : sigma^2 = %g", sigmasq0), quote = FALSE) # 検定統計量 chisq.value <- (n - 1) * ssq / sigmasq0 # 右片側検定 chisq.right.p <- pchisq(chisq.value, n - 1, lower.tail = FALSE) # 左片側検定 chisq.left.p <- pchisq(chisq.value, n - 1) # 両側検定 if (chisq.right.p > chisq.left.p) { chisq.twosided.p <- chisq.left.p * 2 } else { chisq.twosided.p <- chisq.right.p * 2 } print(sprintf("chi^2 = %g, 右片側 p = %g, 左片側 p = %g, 両側 p = %g", chisq.value, chisq.right.p, chisq.left.p, chisq.twosided.p), quote = FALSE)