我有两个带有Pvalues的基因,我必须使用JAVA(它的要求)对此实施Fisher方法。我执行了昂贵的RnD,但我找不到任何帮助。 在R中还有内置渔民方法实施如下。
function (p)
{
keep <- (p > 0) & (p <= 1)
lnp <- log(p[keep])
chisq <- (-2) * sum(lnp)
df <- 2 * length(lnp)
if (sum(1L * keep) < 2)
stop("Must have at least two valid p values")
if (length(lnp) != length(p)) {
warning("Some studies omitted")
}
res <- list(chisq = chisq, df = df, p = pchisq(chisq, df,
lower.tail = FALSE), validp = p[keep])
class(res) <- c("sumlog", "metap")
res
}
任何人都可以帮助我理解这段代码,或者如果可能的话,在java中分享Fisher方法实现吗?