R中的Fisher检验


11

假设我们有以下数据集:

                Men    Women    
Dieting         10      30
Non-dieting     5       60

如果我在R中运行Fisher精确测试,那么alternative = greater(或更少)意味着什么?例如:

mat = matrix(c(10,5,30,60), 2,2)
fisher.test(mat, alternative="greater")

我得到的p-value = 0.01588odds ratio = 3.943534。另外,当我像这样翻转列联表的行时:

mat = matrix(c(5,10,60,30), 2, 2)
fisher.test(mat, alternative="greater")

然后我得到p-value = 0.9967odds ratio = 0.2535796。但是,当我在没有备用参数(即fisher.test(mat))的情况下运行两个列联表时,我得到了p-value = 0.02063

  1. 你能告诉我原因吗?
  2. 此外,在上述情况下,原假设和替代假设是什么?
  3. 我可以在像这样的列联表上运行fisher测试:

    mat = matrix(c(5000,10000,69999,39999), 2, 2)

PS:我不是统计学家。我正在尝试学习统计信息,以便您的帮助(用简单的英语回答)将受到高度赞赏。

Answers:


11

greater(或less)指将零假设p1=p2与替代p1>p2(或p1<p2)进行比较的单面测试。相反,双向检验将原假设与p1不等于 的备选方案进行比较p2

对于您的表,样本中男性节食者的比例为1/4 = 0.25(40个中的10个)。另一方面,样本中男性非节食者的比例为1/13或(65个中的5个)等于0.077。因此,的估算p1值为0.25,而的估算p2值为0.077。因此看来 p1>p2

这就是为什么对于单面替代而言p1>p2,p值为0.01588。(小的p值表示原假设不太可能,而替代假设很可能。)

当选择其他方法时,p1<p2我们会看到您的数据表明差异在错误的(或无法预料的)方向上。

这就是为什么在这种情况下p值是如此之高的0.9967。对于双面选择,p值应比双面选择高p1>p2。实际上,它的p值等于0.02063。


1
很棒的解释。那么,费舍尔精确检验实际上是比较行而不是列之间的概率吗?
基督徒

@克里斯蒂安:不,费舍尔测试的行或列是否检查列联表中的相关性都没有关系。行和列直接无关紧要。您也可以重新假设:H0是“吸烟的年轻人死亡的人”,而您也可以假设H0:“吸烟的年轻人死亡的可能性更大”。fisher测试的结果将告诉您数据中是否有观察到的连接是否支持原假设,但无论是自变量还是因变量都无关紧要,并且行/列的选择也无关紧要: )
Dominique Paul
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.