【发布时间】:2019-04-02 18:24:51
【问题描述】:
Fisher 精确检验与超几何分布有关,我希望这两个命令会返回相同的 p 值。谁能解释我做错了什么,他们不匹配?
#data (variable names chosen to match dhyper() argument names)
x = 14
m = 20
n = 41047
k = 40
#Fisher test, alternative = 'greater'
(fisher.test(matrix(c(x, m-x, k-x, n-(k-x)),2,2), alternative='greater'))$p.value
#returns 2.01804e-39
#geometric distribution, lower.tail = F, i.e. P[X > x]
phyper(x, m, n, k, lower.tail = F, log.p = F)
#returns 5.115862e-43
【问题讨论】:
-
对于亲密的选民来说,有两种方法可以回答这个问题。其中之一是查看这两个函数调用,了解它们之间的关系,以及可能需要更改哪些内容才能产生相同的结果。这似乎完全是这里的主题。另一个涉及描述函数调用背后的统计理论,这可能最好在另一个 SE 站点上询问。由于这个问题是在这里提出的,并且可以在这里回答主题,我希望这就是 OP 想要的。如果没有,请编辑并迁移。
标签: r statistics p-value contingency hypothesis-test