View source: R/groupedWilkinson.R
groupedWilkinson | R Documentation |
Combine p-values from grouped tests with Wilkinson's method. Groups are defined according to unique levels of a grouping factor.
groupedWilkinson(p.values, grouping, log.p = FALSE, min.n = 1, min.prop = 0.5)
p.values |
A numeric vector containing p-values for individual tests. |
grouping |
A vector or factor of length equal to Alternatively, an rle object where each run corresponds to a group and specifies the entries of |
log.p |
Logical scalar indicating whether the p-values in |
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. |
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.
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.
Aaron Lun
Wilkinson B (1951). A statistical consideration in psychological research. Psychol. Bull. 48, 156-158.
parallelWilkinson
, for a version that operates on parallel vectors of p-values.
groupedHolmMin
, which has a more strict interpretation of N, amongst other things.
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.