Learn R Programming

metap (version 0.7)

sumlog: Combine p-values by the sum of logs method

Description

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

Value

  • An object of class sumlog and metap, a list with entries
  • chisqValue of chi-squared statistic
  • dfAssociated degrees of freedom
  • pAssociated p-value
  • validpThe input vector with the illegal values removed

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

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.

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

Run this code
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

Run the code above in your browser using DataLab