在Java中组合pvalues的Fishers方法

在Java中组合pvalues的Fishers方法,java,p-value,Java,P Value,我有两个基因和它们的pvalue,我必须使用JAVA(它的需求)实现Fisher方法。我执行了昂贵的RnD,但找不到任何帮助。 在R中还有内置的fisher方法实现,如下所示 function (p) { keep <- (p > 0) & (p <= 1) lnp <- log(p[keep]) chisq <- (-2) * sum(lnp) df <- 2 * length(lnp) if (sum(1L * keep) < 2

我有两个基因和它们的pvalue,我必须使用JAVA(它的需求)实现Fisher方法。我执行了昂贵的RnD,但找不到任何帮助。 在R中还有内置的fisher方法实现,如下所示

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
} 
函数(p)
{

保持(0)及(p看起来有人已经为你做了>谢谢DejaVu。但是在链接中,它使用了4个p值,并在公式中使用了它。但是我想在2个p值之间进行检查。我非常确定你可以减少它所查看的p值的数量。但是我不是一个统计程序员。看起来有人已经为你做了>谢谢DejaVu。但在link中,它使用了4个p值,并在公式中进行了处理。但我想在2个pavlue之间进行检查。我很确定你可以减少它所看到的p值的数量。但我不是一个统计程序员。