我是否错误地使用了fisher.test()函数?无法复制研究论文中发现的 p 值

问题描述 投票:0回答:1

我一直在尝试复制这篇研究论文的结果科克伦规则的故事:我的列联表有很多小于 5 的期望值,我该怎么办? 作者:Kroonenberg 和 Verbeek 但我的数字根本与他们的不匹配。在论文中,他们使用了以下列联表:

                            Type of Surgery
-----------------------------------------------------------------------
Patient's state        None        A         B           Total
-----------------------------------------------------------------------
Still alive             0          5         1             6
Passed away             3          1         2             6
-----------------------------------------------------------------------
Total                   3          6         3             12

针对检查患者的状态和手术类型是否独立提出这一主张:

“在你不稳定的健康状况下,你发现精确的测试产生的 pX2 为 0.12,换句话说,独立性测试不能被拒绝。”

并提出关于检查手术的类型是否独立的主张

“关于两种手术类型之间选择的表格(假设我们可以独立于之前的测试进行测试)的 X2 为 2.25,其中 pX2 = 0.46 和 pχ2 = 0.13。”

如您所见,他们声称正在使用渔民精确测试来获取其 pX2 值(以及对其 pχ2 值进行常规卡方测试)但是,运行代码对于第一个声明,下面的 R 中的 p 值为 0.0801 而不是 0.12。事实上,如果我使用模拟 p 值运行卡方检验,我只能得到 0.12 左右的值:

disease <- matrix(c(0, 5, 1, 3, 1, 2), nrow = 2, byrow = TRUE)
colnames(disease) <- c("None", "A", "B")
rownames(disease) <- c("Still alive", "Passed Away")


fisher.test(disease, conf.int = FALSE)
chisq.test(disease, simulate.p.value = TRUE)

我是否错误地使用了fisher.test()函数?我在这里缺少什么吗?

r statistics p-value
1个回答
0
投票

这也许应该是一条评论,但我看不出你做错了什么,无论是在 R 中还是在快速浏览论文中。没有连续性校正选项(列联表分析中不匹配/混乱的常见原因),并且默认情况下不使用渐近近似。 (如果我们通过运行

fisher.test(disease, conf.int = FALSE, hybrid = TRUE, hybridPars = c(1, 1,1))
强制使用渐近近似,则 p 值为 0.062。)我会考虑联系相应的作者。

无论它的价值这个在线计算器给出的答案与您使用R得到的答案相同

fisher.test()

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.