parallelBerger {metapod} | R Documentation

## Combine parallel p-values with Berger's IUT

### Description

Combine p-values from parallel tests with Berger's intersection-union test (IUT). Each group of p-values is defined from the corresponding entries across all vectors.

### Usage

    parallelBerger(p.values, log.p = FALSE)

### Arguments

`p.values` | A list of numeric vectors of the same length, containing the p-values to be combined.
`log.p` | Logical scalar indicating whether the p-values in `p.values` are log-transformed.

### Details

The joint null hypothesis for each group is that any of the individual null hypotheses are true. Berger's IUT will only reject the joint null if all of the individual nulls are rejected. This method is applicable under arbitrary dependency structures. No weights are considered.

The representative test for each group is defined as the test with the largest p-value, as this is ultimately used as the IUT p-value. All tests for each group are considered to be influential as increasing any of them (e.g., to unity) would result in a larger combined p-value.

### Value

A list containing:

- `p.value`, a numeric vector of length equal to the length of each vector in `p.values`. This contains the IUT p-value for each group, log-transformed if `log.p=TRUE`.

- `representative`, an integer scalar specifying the representative test in each group. Specifically, this refers to the index of the vector of `p.values` containing the representative test.

- `influential`, a list of logical vectors mirroring the structure of `p.values`. Entries are `TRUE` for any p-value that is deemed “influential” to the final combined p-value.

### Author(s)

Aaron Lun

### References

Berger RL and Hsu JC (1996). Bioequivalence trials, intersection-union tests and equivalence confidence sets. Statist. Sci. 11, 283-319.

### See Also

`groupedBerger`, for the version that combines p-values based on a grouping factor.

### Examples

    p1 <- rbeta(100, 0.8, 1)
    p2 <- runif(100)
    p3 <- rbeta(100, 0.5, 1)

    # Standard application:
    out <- parallelBerger(list(p1, p2, p3))
    str(out)

    # With log p-values.
    out <- parallelBerger(list(log(p1), log(p2), log(p3)), log.p=TRUE)
    str(out)

[Package metapod version 1.2.0 Index]