嗨,我看到有人计算维恩图重叠 p 值,如下例所示。他们使用超几何分布和 R。当我在 R 中应用他们的函数时,我无法得到相同的结果。谁能帮我解决这个问题?
我在别人的出版物中看到的样本:
从15220个基因中,A组是1850+195个基因,B组是195+596个基因,重叠是195个基因。它们的 p 值为 2e-26。
他们的方法是:给定总共N个基因,如果基因集A和B分别包含m和n个基因,并且其中k个是共同的,那么富集的p值计算如下:
p = Σ (m,i)(N-m,n-i)/(N,n)
for i
from k
to min(m,n)
,其中“ (m,i)
”代表二项式。
我使用 R 的方式是:
sum(choose(596+195,195:(195+596))*choose(15220-596-195,(1850+195)-195:(195+596)))/choose(15220,1850+195)
.
我得到了NaN
。
或使用:phyper(195,1850+195,15220-1850-195,596+195)
,我得到了 1。
我也参考链接http://www.pangloss.com/wiki/VennSignificance 但是当我计算
1 - phyper(448,1000,13800,2872)
在 R 中,我得到了 0 而不是 1.906314e-81 的链接。
我对 R 和统计完全陌生,很抱歉在这里发布了许多错误。