groupedWilkinson {metapod} | R Documentation

## Combine grouped p-values with Wilkinson's method

### Description

Combine p-values from grouped tests with Wilkinson's method. Groups are defined according to unique levels of a grouping factor.

### Usage

    groupedWilkinson(p.values, grouping, log.p = FALSE, min.n = 1, min.prop = 0.5)

### Arguments

`p.values` | A numeric vector containing p-values for individual tests.
`grouping` | A vector or factor of length equal to `p.values`, specifying the group to which each test is assigned. Alternatively, an rle object where each run corresponds to a group and specifies the entries of `p.values` belonging to that group. This assumes that `p.values` is ordered such that all entries in the same group are adjacent to each other.
`log.p` | Logical scalar indicating whether the p-values in `p.values` are log-transformed.
`min.n` | Integer scalar specifying the minimum number of individual nulls to reject when testing the joint null.
`min.prop` | Numeric scalar in [0, 1], specifying the minimum proportion of individual nulls to reject when testing the joint null.

### Details

Here, the joint null hypothesis for each group is all individual null hypotheses are false. Rejection of the joint null is heavily favored in situations where N or more individual nulls are rejected. This is achieved in Wilkinson's method by considering the N-th order statistic for uniformly distributed p-values. The individual tests are assumed to be independent, and all weights are ignored.

N is defined as the larger of `min.n` and the product of `min.prop` with the number of tests in the group (rounded up). This allows users to scale rejection of the joint null with the size of the group, while avoiding a too-low N when the group is small. Note that N is always capped at the total size of the group.

The representative test for each group is defined as that with the N-th smallest p-value, as this is used to compute the combined p-value. The influential tests for each group are defined as those with p-values no greater than the representative test's p-value. This is based on the fact that increasing them (e.g., by setting them to unity) would result in a larger combined p-value.

### Value

A list containing:

- `p.value`, a named numeric vector of length equal to the number of unique levels in `grouping`. This contains the combined p-value for each group, log-transformed if `log.p=TRUE`. Each entry is named according to the group.

- `representative`, a named integer scalar specifying the representative test for each group. Each index refers to an entry of `p.values` and is named according to its group.

- `influential`, a logical vector of length equal to `p.values`. Entries are `TRUE` for any p-value that is deemed “influential” to the final combined p-value for its group.

### Author(s)

Aaron Lun

### References

Wilkinson B (1951). A statistical consideration in psychological research. Psychol. Bull. 48, 156-158.

### See Also

`parallelWilkinson`, for a version that operates on parallel vectors of p-values.

`groupedHolmMin`, which has a more strict interpretation of N, amongst other things.

### Examples

    p1 <- rbeta(100, 0.8, 1)
    g <- sample(10, length(p1), replace=TRUE)

    # Standard application:
    out <- groupedWilkinson(p1, g)
    str(out)

    # With log p-values.
    out <- groupedWilkinson(log(p1), g, log.p=TRUE)
    str(out)

[Package metapod version 1.0.0 Index]