|
Size: 689
Comment:
|
Size: 546
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 14: | Line 14: |
| 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) } |
|
| Line 20: | Line 27: |
| pl <- NA pl <- length(pvals) { if (is.na(pl)) { res <- "There was an empty array of p-values"} else res <- pfish(pvals) } print(res) |
pf(pvals) |
| Line 32: | Line 34: |
(I hope to improve this so that only the pvals vector needs to be entered for each run with the check to see if the p-value vector is empty done less obtrusively!) |
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
