Skip to contents

Combines multiple p-values using the Aggregated Cauchy Association Test (ACAT). This method is robust and maintains correct type I error even with correlated p-values.

Usage

ACAT_combine(pvals, weights = NULL)

Arguments

pvals

Numeric vector of p-values to combine.

weights

Numeric vector of weights. If NULL (default), equal weights are used.

Value

A single combined p-value.

Details

ACAT transforms p-values using the Cauchy distribution and combines them: $$T = \sum_i w_i \tan(\pi(0.5 - p_i))$$

The combined p-value is then computed from the Cauchy distribution.

This method has several advantages:

  • Valid even when p-values are correlated

  • Computationally simple

  • Handles edge cases (p = 0 or 1) gracefully

References

Liu, Y. et al. (2019) ACAT: A Fast and Powerful P Value Combination Method for Rare-Variant Analysis in Sequencing Studies. The American Journal of Human Genetics.

Examples

# Combine independent p-values
pvals <- c(0.01, 0.05, 0.3)
combined_p <- ACAT_combine(pvals)
print(combined_p)
#> [1] 0.02452443