我正在尝试执行 3 个单独的卡方检验,以确定 BMI 和 2 型糖尿病之间是否存在显着性。一种适用于男性和女性,一种适用于男性,另一种适用于女性。然而,当我尝试运行我的代码时,我得到了非常大的 X 平方值和 n/a 的 df 值。
代码:
combined <- table(EMLabData$BMI, EMLabData$T2D)
men <- table(EMLabData$BMI[EMLabData$Sex=="Male"], EMLabData$T2D[EMLabData$Sex=="Male"])
women <- table(EMLabData$BMI[EMLabData$Sex=="Female"], EMLabData$T2D[EMLabData$Sex=="Female"])
chisq.test(combined, simulate.p.value = TRUE)
chisq.test(men, simulate.p.value = TRUE)
chisq.test(women, simulate.p.value = TRUE)
输出:
data: combined
X-squared = 1423.4, df = NA, p-value = 0.0004998
data: men
X-squared = 727.94, df = NA, p-value = 0.04798
data: women
X-squared = 1.2297, df = NA, p-value = 1
我不确定出了什么问题以及如何解决。任何帮助将不胜感激。
自由度用于选择用于计算 p 值的卡方分布。 但是您告诉函数使用模拟而不是特定分布来查找 p 值,因此在这种情况下自由度并不重要。 帮助文件 (
?chisq.test
) 特别指出,当使用蒙特卡洛模拟时,parameter
(即自由度)将为 NA
(请参阅 Value
部分和 parameter
小节)。
大的卡方值是反对零假设的证据,并且当零假设为假时,随着较大的表格和表格中的计数的增加,卡方值往往会变得更大。
所以 R 正在为您提供您想要的东西。 没有任何问题。