费舍尔的精确测试

时间:2017-09-18 16:24:59

标签: r statistics contingency

在这篇文章https://stats.stackexchange.com/questions/94909/course-of-action-for-2x2-tables-with-0s-in-cell-and-low-cell-counts中,OP表示他/她的p值为0.5152,同时对以下数据进行了Fisher精确检验:

    Control Cases
  A   8       0
  B  14       0

但我得到p值= 1且优势比= 0的数据。我的R代码是:

a <- matrix(c(8,14,0,0),2,2)

(res <- fisher.test(a))

我在哪里做错了?

2 个答案:

答案 0 :(得分:1)

下午好:)

https://en.wikipedia.org/wiki/Fisher%27s_exact_test

Haven在一段时间内没有使用过这些,但我假设你的两列是0:

p = choose(14, 14) * choose(8, 8)/ choose(22, 22)

1.0。有关比值比,请在此处阅读:https://en.wikipedia.org/wiki/Odds_ratio

0是分子或分母。我认为这是有道理的,因为0列的实际意味着你有一个没有观察的小组。

答案 1 :(得分:0)

您会得到奇怪的p值= 1和OR = 0,因为您的一个或多个计数为0。它不应该由卡方方程计算,通过乘积,卡普尔方程的乘积值分别为0细胞: Chi square equation, cell-by-cell

相反,您应该使用 Fisher的精确测试(“ fisher.test()”),该测试在某种程度上可以纠正非常低的单元格计数(通常,只要有至少20%的细胞计数<5)。来源:https://www.ncbi.nlm.nih.gov/pubmed/23894860使用卡方分析需要您使用 Yates校正(例如:chisq.test(矩阵,正确= T))进行校正。