Learn R Programming

metap (version 1.11)

invchisq: Combine p values using the inverse chi squared method

Description

Combine p-values by the inverse chi-squared method, also known as Lancaster's method

Usage

invchisq(p, k, data = NULL, subset = NULL, na.action = na.fail, log.p = FALSE)
# S3 method for invchisq
print(x, ...)

Value

An object of class ‘invchisq’ 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

Arguments

p

A vector of significance values

k

A vector of degrees of freedom to use, see details

data

Optional data frame containing variables

subset

Optional vector of logicals to specify a subset of the p-values

na.action

A function indicating what should happen when data contains NAs

log.p

Logical, if TRUE result is returned as log(p)

x

An object of class ‘invchisq

...

Other arguments to be passed through

Author

Michael Dewey

Details

Defined as _i=1^n ^2_k_i(p_i) > ^2_k_i() ^2_k(p) > ^2_k()

If k is a single value it is used for all the p of which there are n. If any value of k_i0 then the corresponding p_i is not included.

The values of p_i should be such that 0 < p_i 1 and a warning is given if that is not true. A warning is given if, possibly as a result of removing illegal values, fewer than two values remain and the return values are set to NA.

The plot method for class ‘metap’ calls plotp 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

becker94metap

lancaster49metap

See Also

See also sumlog and plotp

Examples

Run this code
data(dat.metap)
beckerp <- dat.metap$beckerp
invchisq(beckerp, 2) # same as sumlog
invchisq(c(0.999, 0.999, 0.001, 0.001), 4)
all.equal(exp(invchisq(beckerp, 2, log.p = TRUE)$p), invchisq(beckerp, 2)$p)

Run the code above in your browser using DataLab