= R code for combining p-values using Bailey and Gribskov (1998) method = {{{ pfish <- function(p) { t <- prod(p) x <- -log(prod(p)) n <- length(p) v <- c(1:n-1) a <- t*(x^v)/factorial(v) pf <- sum(a) return(pf) } pvals <- NA pf <- function(pl) { { if (any(is.na(pl))) { res <- "There was an empty array of p-values"} else res <- pfish(pvals) } return(res) } }}} Running this inputting a list of pvalues on vector pvals {{{ pvals <- c(0.1,0.01,0.01,0.7,0.3,0.1) pf(pvals) }}} we get {{{ [1] 0.002148704 }}}