首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >upper.tail和1- lower.tail为什么不同?(过度表象的fisher精确检验)

upper.tail和1- lower.tail为什么不同?(过度表象的fisher精确检验)
EN

Stack Overflow用户
提问于 2016-04-17 05:24:07
回答 1查看 430关注 0票数 1

费舍尔精确检验通常用于对路径中基因列表的过度表示分析。请考虑以下应急表示例:

代码语言:javascript
复制
              in pathway
                 Y   N
in gene list  Y 90  110  |  200 
              N 10  790  |  800
              ------------------
               100  900  | 1000

在R中,基于过度表示分析的费舍尔检验主要有两种方法,第一种是使用fisher.test (以应变矩阵作为输入)。

代码语言:javascript
复制
fisher.test(matrix(c(90,10,110,790), nrow = 2), alternative = 'greater')$p.value
[1] 1.486473e-59

第二种方法是使用phyper (孟的注释给出了一个很好的解释如何使用叶,包括为什么"-1",以及什么是q,m,n,k的确切含义。):

代码语言:javascript
复制
phyper(q=90-1, m=100, n=900, k=200, lower.tail = FALSE)
[1] 1.486473e-59

我的问题是:为什么这与:

代码语言:javascript
复制
1 - phyper(q=90-1, m=100, n=900, k=200, lower.tail = TRUE)
[1] 0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-19 07:47:33

phyper的C级代码避免了某些计算(这会导致浮点数值误差),因此,当您专门询问您感兴趣的尾部时,就会更加准确。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36672993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档