2014-02-05 23 views
0

欲进行配合测试的理论卡方优度:配合的卡方优度而不耶茨校正

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

样品大小n = 100,α= 0.05,DF = 1。这给出了3.84的关键气味值。 (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 

我的错误在哪里?

回答

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 
+0

谢谢!实际上,我的目标是找出分布差异所必需的最小差异。也就是说,我想知道x的实际值< - c(x,100-x),X平方> 3.84。我该怎么做呢? – user3213255

+0

@ user3213255 - 查看我编辑的'optim'解决方案以找到确切位置。 – thelatemail