我想做一个卡方测试来比较我的数据(“真实”一列)和理论正态分布(列“理论”),这是通过大实数的参数计算的(在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
答案 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;应该怀疑是无能。上述测试可以描述为测量值与理论值的拟合度的卡方检验。