metap (version 1.0)

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

Description

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

Usage

sumlog(p)
# S3 method for 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

chisq

Value of chi-squared statistic

df

Associated degrees of freedom

p

Associated p-value

validp

The 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 fisher25metap. becker94metap rosenthal78metap sutton00metap

The values of \(p\) should be such that \(0<p\le{}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.

References

See Also

See also schweder

Examples

Run this code
# NOT RUN {
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