sumlog: Combine p-values by the sum of logs (Fisher's) method

View source: R/sumlog.R

sumlogR Documentation

Combine p-values by the sum of logs (Fisher's) method

Description

Combine \mjseqnp-values by the sum of logs method, also known as Fisher's method, and sometimes as the chi-square (2) method\loadmathjax

Usage

sumlog(p, log.p = FALSE)
## S3 method for class 'sumlog'
print(x, ...)

Arguments

p \sigvec
log.p \logp
x

An object of class ‘sumlog

...

Other arguments to be passed through

Details

The method relies on the fact that \mjdeqn\sum_i=1^k - 2 \log p_isum (-2 log p) is a chi-squared with \mjeqn2 k2 * k df where \mjseqnk is the number of studies \insertCitefisher25metap. \insertNoCitebecker94metap \insertNoCiterosenthal78metap \insertNoCitesutton00metap

\ltle

two

\plotmethod \nocancel

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 \mjseqnp-value

validp

The input vector with the illegal values removed

Author(s)

Michael Dewey

References

\insertAllCited

See Also

See also plotp

Examples

data(dat.metap)
teachexpect <- dat.metap$teachexpect
sumlog(teachexpect) # chisq = 69.473, df = 38, p = 0.0014, from Becker
beckerp <- dat.metap$beckerp
sumlog(beckerp) # chisq = 18.533, df = 10, sig
rosenthal <- dat.metap$rosenthal
sumlog(rosenthal$p) # chisq = 22.97, df = 10, p = 0.006 one sided
cholest <- dat.metap$cholest$p
sumlog(cholest) # chisq = 58.62, df = 68, p = 0.78
validity <- dat.metap$validity$p
sumlog(validity) # chisq = 159.82, df = 40, p = 2.91 * 10^{-16}
sumlog(c(0.0001, 0.0001, 0.9999, 0.9999)) # is significant
all.equal(exp(sumlog(validity, log.p = TRUE)$p), sumlog(validity)$p)

metap documentation built on Oct. 9, 2023, 5:10 p.m.