countParallelDirection: Count directions of parallel tests

View source: R/countParallelDirection.R

countParallelDirectionR Documentation

Count directions of parallel tests

Description

Count the number of parallel tests that are significant and changing in each direction. Each group of tests is defined as corresponding entries across vectors.

Usage

countParallelDirection(
  p.values,
  effects,
  p.threshold = 0.05,
  effect.threshold = 0,
  method = c("BH", "holm"),
  log.p = FALSE
)

Arguments

p.values

A list of numeric vectors of the same length, containing the p-values to be combined.

effects

A list of numeric vectors of same structure as p.values, containing the effect sizes for each set of tests.

p.threshold

Numeric scalar defining the adjusted p-value threshold at which test is significant.

effect.threshold

Numeric scalar defining the threshold at which an effect is “"up"” or “"down"”.

method

String specifying how the multiple testing correction within each group is to be performed.

log.p

Logical scalar indicating whether the p.values are log-transformed.

Details

We apply a multiple testing correction within each group and define all significant tests as those with adjusted p-values below p.threshold. We then count the number of tests with effects greater than effect.threshold (i.e., going up) or less than the threshold (i.e., going down). This allows us to quantify the direction of change across the group into two counts.

The output of this function is simpler to interpret than the summarize*Direction functions. However, p.threshold has no clear relationship to the significance threshold applied to the combined p-values. Groups with many low p-values will have milder multiplicity corrections, resulting in more non-zero counts for both the up and down tests; this often complicates matters by introducing mixed directions of effect, even when the most significant changes in the group are in one direction.

Note that, if log.p=TRUE, the function will automatically handle the log-transformation of p.threshold.

Value

A list with the "up" and "down" entries. Both are integer vectors of length equal to the number of groups, containing the number of significant tests changing each each direction in each group.

Author(s)

Aaron Lun

See Also

summarizeParallelDirection, for another way to summarize the overall direction into a single string.

countGroupedDirection, for the equivalent function based on a grouping factor.

Examples

p1 <- rbeta(100, 0.5, 1)
eff1 <- rnorm(100)
p2 <- rbeta(100, 0.5, 1)
eff2 <- rnorm(100)

(dirs <- countParallelDirection(list(p1, p2), list(eff1, eff2)))


LTLA/metapod documentation built on Jan. 19, 2024, 11:49 p.m.