示例

差异基因 背景基因
在背景中有该Term的基因数 在背景中的差异基因总数 包含该Term的基因数 背景基因总数
k n m N

P值及校正

R语言

  1. pvalue = phyper(k-1, m, N-m, n, lower.tail=F)
  2. # 多重检验,针对所有行,而不是当前行
  3. pvalues = c(p1, p2, p3, ...)
  4. bonferroni = p.adjust(pvalues, method='bonferroni', n=length(pvalues))
  5. fdr = p.adjust(pvalues, 'fdr')
  6. # pAdjustMethod:
  7. # one of "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none"
  8. # =========
  9. # qvalue计算
  10. # =========
  11. library(qvalue)
  12. qvalue(pvalue, lambda=0.05, pi0.method="bootstrap")$qvalues

Python

  1. import scipy.stats
  2. pvalue = scipy.stats.hypergeom.sf(k-1, N, m, n)