没有耶茨校正的方形适合度

时间:2014-02-05 23:04:08

标签: r chi-squared significance goodness-of-fit

我想进行理论上的卡方拟合度测试:

actual <- c(20,80)
expected <- c(10,90)
chisq.test(expected,actual) 

样本量n = 100,α= 0.05,df = 1。这给出了3.84的临界chi值。用手,我可以将测试统计量计算为((20-10)^ 2)/ 10 +((80-90)^ 2)/ 90 = 100/9> 3.84

但是,上面的代码只是产生了

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

data:  expected and actual 
X-squared = 0, df = 1, p-value = 1

我的错误在哪里?

1 个答案:

答案 0 :(得分:0)

我认为你没有测试你打算测试的内容。作为?chisq.test状态的帮助,Yates通过correct=参数进行的连续性校正是:“一个逻辑,指示在计算 2乘2表的测试统计量时是否应用连续性校正 “。

相反,请尝试:

chisq.test(x=actual,p=prop.table(expected))

#        Chi-squared test for given probabilities
# 
#data:  actual
#X-squared = 11.1111, df = 1, p-value = 0.0008581

您可以使用optim找到正确的值,这些值只会为您提供高于临界值的卡方统计量:

critchi <- function(par,actual=c(20,80),crit=3.84) {
  res <- chisq.test(actual,p=prop.table(c(par,100-par)))
  abs(crit - res$statistic)
}
optim(par = c(1), critchi, method="Brent", lower=1,upper=100)$par
#[1] 28.88106

您可以用29代替确认这种情况,作为28.88的四舍五入整数:

chisq.test(actual, p=prop.table(c(29,100-29)))
#X-squared = 3.9339, df = 1, p-value = 0.04732