sumlog | R Documentation |
Combine \mjseqnp-values by the sum of logs method, also known as Fisher's method, and sometimes as the chi-square (2) method\loadmathjax
sumlog(p, log.p = FALSE, log.input = FALSE)
## S3 method for class 'sumlog'
print(x, ...)
p |
\sigvec |
log.p |
\logp |
log.input |
\loginput |
x |
An object of class ‘ |
... |
Other arguments to be passed through |
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
\ltletwo
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.
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 |
Michael Dewey
See also plotp
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.