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, log.input = FALSE)
## S3 method for class 'sumlog'
print(x, ...)

Arguments

p \sigvec
log.p \logp
log.input \loginput
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

The log.input parameter may be beneficial when the input values are already logged and would be small if exponentiated since it avoids a conversion.

\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)
all.equal(sumlog(log(validity), log.input = TRUE)$p, sumlog(validity)$p)

metap documentation built on Sept. 11, 2024, 6:53 p.m.