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

nat*_*lia 2 r chi-squared

我想使卡方检验由大实际样品的参数来比较我的数据(列"真实")与理论正态分布(柱"理论值"),这是计算(在Excel)(处理这个样本的排名 - 是"真实的"列.

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

起初我认为它应该是 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
Run Code Online (Sandbox Code Playgroud)

42-*_*42- 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
Run Code Online (Sandbox Code Playgroud)

有许多不同版本的"卡方"测试.事实上很多人只会将他们的分析描述为"使用卡方检验"而应该被怀疑为无能.上述测试可以描述为测量值与理论值的拟合度的卡方检验.