R中的卡方检验(将实际数据与理论正态分布进行比较)

时间:2014-12-18 20:47:53

标签: r chi-squared

我想做一个卡方测试来比较我的数据(“真实”一列)和理论正态分布(列“理论”),这是通过大实数的参数计算的(在Excel中)样本(将此样本处理为排名 - 是“真实”列。)

R I中的哪些测试应该用于此目的?

起初我认为它应该是chisq.test

但我将其结果与EXCEL中的函数“CHI2TEST”的结果进行比较(应该得到相同的结果),这些结果完全不同。它给出p值= 0.2426,Excel的CHI2TEST给出p值0.87。

也许我错误地使用了chisq.test?你能检查一下我的剧本,还是建议我在R?中进行卡方测试的正确测试?

> real
[1]  2  3 15 22 21 14  2  1
> theor
[1]  1.4  5.7 14.1 21.6 20.2 11.6  4.1  0.9
> chisq.test (real,theor)

        Pearson's Chi-squared test

data:  real and theor
X-squared = 48, df = 42, p-value = 0.2426  

Warning message:
In chisq.test(real, theor) : Chi-squared approximation may be incorrect

1 个答案:

答案 0 :(得分:5)

chisq.test用于列联表,这不是你给它的。 (注意自由度是42,所以它认为你的"真实的变量是计数而不是数值测量。看看这个Pearson卡方检验的实现:

> chisq <- sum( (real-theor)^2/theor)

> chisq
[1] 3.2159
> pchisq(chisq, length(theor)-1 )   # df = n-1
[1] 0.1356627                          
> 1- pchisq(chisq, length(theor)-1 )
[1] 0.8643373       
             # compare to Excel

有许多不同版本的&#34; chi-squared&#34;试验。实际上很多人只是将他们的分析描述为&#34;使用卡方检验&#34;应该怀疑是无能。上述测试可以描述为测量值与理论值的拟合度的卡方检验。