Combine p-values by the sum of logs method,
also known as Fisher's method
Usage
sumlog(p)
## S3 method for class 'sumlog'
print(x, ...)
Arguments
p
A vector of p-values
x
An object of class ‘sumlog’
...
Other arguments to be passed through
Details
The method relies on the fact that
sum -2 log p
is a chi-squared with 2 * k df where k is the number
of studies.
The values of p should be such that
0<p<=1 and a warning is given if that
is not true.
An error is given
if possibly as a result of deletions
fewer than two studies remain.
The plot method for class ‘metap’
calls schweder on the valid
p-values.
Inspection of the distribution of p-values is highly recommended
as extreme values in opposite directions do not cancel out.
See last example.
This may not be what you want.
Value
An object of class ‘sumlog’ and ‘metap’,
a list with entries
chisq
Value of chi-squared statistic
df
Associated degrees of freedom
p
Associated p-value
validp
The input vector with the illegal values removed
Author(s)
Michael Dewey
References
Becker, B J. Combining significance levels. In
Cooper, H and Hedges, L V, editors
A handbook of research synthesis,
chapter 15, pages 215–230.
Russell Sage,
New York, 1994.
Rosenthal, R. Combining the results of independent studies.
Psychological Bulletin,
85:185–193, 1978.
Sutton A J, Abrams, K R, Jones D R, Sheldon T A and Song, F.
Methods for meta-analysis in medical research.
Wiley, Chichester, 2000.
See Also
See also schweder
Examples
data(teachexpect)
sumlog(teachexpect) # chisq = 69.473, df = 38, p = 0.0014, from Becker
data(beckerp)
sumlog(beckerp) # chisq = 18.533, df = 10, sig
data(rosenthal)
sumlog(rosenthal$p) # chisq = 22.97, df = 10, p = 0.006 one sided
data(cholest)
sumlog(cholest) # chisq = 58.62, df = 68, p = 0.78
data(validity)
sumlog(validity) # chisq = 159.82, df = 40, p = 2.91 * 10^{-16}
sumlog(c(0.0001, 0.0001, 0.9999, 0.9999)) # is significant