这是我关于stackoverflow的第一个问题,所以希望我能给你所有必要的信息。
我正在尝试使用coin包中的chisq_test函数,基于精确分布进行卡方检验。我想比较关于一个变量的两个组,但我正在运行一条警告消息。下面是一个最小的可重现的例子(至少我希望它是一个):
library(coin)
dt <- as.data.frame(alzheimer)
xtabs(~ disease + gender, data = dt)
chisq_test(disease ~ gender, data = dt, distribution = "exact")我正在检查列联表,以确保每个单元格有足够的案例。当我进行测试时,我得到以下输出:
> chisq_test(disease ~ gender, data = dt, distribution = "exact")
Exact Pearson Chi-Squared Test
data: disease by gender (Female, Male)
chi-squared = 9.7121, p-value = 0.3895
Warning messages:
1: In T - expectation(object) :
longer object length is not a multiple of shorter object length
2: In (T - expectation(object))^2/variance(object) :
longer object length is not a multiple of shorter object length我使用近似分布计算了p值,以确保警告确实是一个问题:
> chisq_test(disease ~ gender, data = dt, distribution = approximate(nresample = 1e+05))
Approximative Pearson Chi-Squared Test
data: disease by gender (Female, Male)
chi-squared = 9.7121, p-value = 0.00756由于两个p值有很大的不同,我想使用精确的分布一定有问题,但我就是找不出问题所在。
也许有人能帮我解决这个问题,或者理解这个警告的原因。
发布于 2020-12-20 20:55:21
我写信给Torsten Hothorn,他是这个包的作者之一。他告诉我,卡方检验的确切分布只适用于2x2问题。因此,警告或未收到错误消息的事实是coin包的当前版本1.3-1中的错误。在R-forge版本的包中,这个错误已经修复。
https://stackoverflow.com/questions/65269561
复制相似问题