gtsummary与prop.test的p值不一致及add_p无CI问题咨询
问题解答
一、add_difference()与prop.test()的p值差异原因
两个函数计算出的p值不同,核心是统计检验的参数设置或默认方法不一致,常见场景如下:
- 连续性校正设置差异:
prop.test()默认启用连续性校正(参数correct=TRUE),而add_difference()对二分类变量调用prop.test()时,默认关闭了连续性校正(correct=FALSE)。你可以手动验证:
此时计算出的p值应该和# 手动关闭连续性校正,对齐add_difference默认行为 prop.test(table(df$asignado, df$mxsitam), correct = FALSE)add_difference()的0.5接近。 - 检验方法选择差异:
若你在add_difference()中指定了其他检验方法(如Wald检验),也会和默认的prop.test()(Pearson卡方检验)结果不同。可以通过add_difference(test = list(all_categorical() ~ "prop.test"))明确指定带校正的prop.test,此时p值会和你手动计算的0.2917一致。
二、add_p()无法输出置信区间的原因
add_p()的设计定位是仅输出组间比较的p值,它的核心逻辑是执行假设检验并返回检验结果的p值,不包含组间差异的点估计和置信区间计算。如果需要置信区间,应该使用add_difference()——这个函数专门用于计算组间差异(如比例差、均值差),并同步输出对应的置信区间和p值。
内容的提问来源于stack exchange,提问作者mala fama
相关产品推荐
相关产品推荐

