Based on simple probability arguments, Jost provides a way to test for the significance of a set of p-values. The idea is that if you have several p-values close to your significance level, this could represent overall significance even if none of the individuals values is significant.
Jost, Lou. “Combining Significance Levels from Multiple Experiments or Analyses” http://www.loujost.com/Statistics%20and%20Physics/Significance%20Levels/CombiningPValues.htm For two p-values, this function is pq(1-log(pq))
jost <- function(p = NULL, n = length(p), k = prod(p)) { # accepts an array of p-values, or their count and product
i = 0:(n - 1)
k * sum((-log(k))^i / factorial(i))
}
Example
myPVals <- c(.06, .125, .14, .08, .098) # None of these is significant on its own at the 0.05 level
jost(myPVals) # The result is less than 0.05
## [1] 0.009314288