Skip to contents

Thin wrapper over stats::p.adjust(method = "BY").

Usage

benjamini_yekutieli(p_values, alpha = 0.05, labels = NULL)

by_fdr(p_values, alpha = 0.05, labels = NULL)

Arguments

p_values

Numeric vector of raw p-values.

alpha

Significance level.

labels

Optional character vector of test labels.

Value

An object of class "morie_multiple_testing_result".

Examples

set.seed(1)
p <- c(runif(80), runif(20, 0, 0.005))

res <- benjamini_yekutieli(p)
res$n_rejected
#> [1] 0
head(res$adjusted)
#> [1] 1 1 1 1 1 1

# BY controls FDR under ARBITRARY dependence, so it is more conservative
# than BH (which assumes independence / positive dependence):
c(BY = benjamini_yekutieli(p)$n_rejected,
  BH = benjamini_hochberg(p)$n_rejected)
#> BY BH 
#>  0 20 

benjamini_yekutieli(p, alpha = 0.10,
                    labels = paste0("t", seq_along(p)))$n_rejected
#> [1] 0