Slightly less conservative than Bonferroni under independence.
Computes \(1 - (1 - p)^m\) directly (closed form); the
mutoss package offers an equivalent step-down variant via
mutoss::SidakSD.
Examples
p <- c(0.001, 0.008, 0.02, 0.04, 0.2, 0.5)
res <- sidak(p)
res$adjusted # 1 - (1 - p)^m, slightly below Bonferroni
#> [1] 0.00598502 0.04705018 0.11415762 0.21724221 0.73785600 0.98437500
res$n_rejected
#> [1] 2
# Less conservative than Bonferroni under independence:
rbind(sidak = sidak(p)$adjusted,
bonferroni = bonferroni(p)$adjusted)
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> sidak 0.00598502 0.04705018 0.1141576 0.2172422 0.737856 0.984375
#> bonferroni 0.00600000 0.04800000 0.1200000 0.2400000 1.000000 1.000000
# alpha + labels behave as in bonferroni().
sidak(p, alpha = 0.01, labels = paste0("H", seq_along(p)))$rejected
#> [1] TRUE FALSE FALSE FALSE FALSE FALSE
