通过检查,很明显Cat第二个数据库中的代表性不足。让我们看看它如何在您的卡方检验中发挥作用
2 × 4权变矩阵。
db1 = c(22000, 2300, 42009, 106000)
db2 = c( 380, 30, 7, 260)
MAT= rbind(db1,db2); MAT
[,1] [,2] [,3] [,4]
db1 22000 2300 42009 106000
db2 380 30 7 260
chisq.test(MAT)
Pearson's Chi-squared test
data: MAT
X-squared = 1238, df = 3, p-value < 2.2e-16
两个数据库中比例相同的原假设被强烈拒绝,P值接近0.
Pearson 残差的平方和是卡方统计量1238.具有最大绝对值的残差指向观察和预期计数差异最大的单元格。
chisq.test(MAT)$resi
[,1] [,2] [,3] [,4]
db1 -1.958478 -0.4334418 0.7695618 0.4790736
db2 31.244842 6.9149717 -12.2773080 -7.6429657
因此,鸟类和猫的比例差异最大。特设,我们可以看看2×2
仅适用于鸟类和猫的应急矩阵。
chisq.test(MAT[,c(1,3)], cor=F)
Pearson's Chi-squared test
data: MAT[, c(1, 3)]
X-squared = 690.98, df = 1, p-value < 2.2e-16
根据您的兴趣,您也可以查看其他子矩阵。通常,人们会担心错误的发现,对相同的数据进行多次测试,但 P 值如此之小,人们可以在
不使用 Bonferroni 等方法调整显着性水平的情况下进行多次临时测试。
评论中每个问题的附录。假设我们有
Db1 = c(22000, 2300, 42009, 106000)
Db2 = c( 380, 30, 4, 260)
MTR = rbind(Db1,Db2); MTR
卡方检验适用于您建议的较小单元格。也许你已经读过需要计数高于5.这是根据行和列总计计算的“预期计数”,基于H0.
中的计数MTR是“观察计数”。在 R 中,您可以使用$-notation 查看预期计数:
chisq.test(MTR, cor=F)$exp
[,1] [,2] [,3] [,4]
Db1 22292.79999 2320.921536 41849.3032 105845.9753
Db2 87.20001 9.078464 163.6968 414.0247
由于相对较大的行和列总计,单元格 [2,3] 可以(以及所有其他单元格)。如果不是,chisq.test将在输出中显示警告消息,说明 P 值可能不准确。然后你可以使用参数sim=T来chisq.test模拟一个更有用的 P 值。
chisq.test(MTR, cor=F)
Pearson's Chi-squared test
data: MTR
X-squared = 1249.3, df = 3, p-value < 2.2e-16
> chisq.test(MTR, cor=F)$exp
[,1] [,2] [,3] [,4]
Db1 22292.79999 2320.921536 41849.3032 105845.9753
Db2 87.20001 9.078464 163.6968 414.0247