In R (zie evt http://oupsy.nl/help/24/wat-is-r-en-hoe-installeer-ik-het) zit een functie om een aantal correcties voor Multiple Testing uit te voeren: zie http://stat.ethz.ch/R-manual/R-patched/library/stats/html/p.adjust.html.
Deze functie heet p.adjust, en die geef je twee parameters mee: een vector met de p-waarden, en het soort correctie dat je wilt uitvoeren. Stel je voor dat je acht toetsen hebt uitgevoerd, met als p-waarden .002, .009, .023, .044, .098, .236, .463 en .872. In R voer je die dan in in een vector:
p <- c(.002, .009, .023, .044, .098, .236, .463, .872);
Dan gebruik je deze code om te kijken wat die p-waarden zouden zijn als je ze corrigeert voor multiple testing met de gewone Bonferroni procedure:
p.adjust(p, method="bonferroni");
En deze code om te kijken wat de p-waarden zouden zijn als je ze corrigeert met de Holm-Bonferroni correctie:
p.adjust(p, method="holm");
En deze om de False Discovery Rate te beperken:
p.adjust(p, method="fdr");
Van deze methoden heeft de laatste de meeste power (ik rond de getallen even af om het duidelijker te laten zien):
> round(p.adjust(p, method="bonferroni"), 3);
[1] 0.016 0.072 0.184 0.352 0.784 1.000 1.000 1.000
> round(p.adjust(p, method="holm"), 3);
[1] 0.016 0.063 0.138 0.220 0.392 0.708 0.926 0.926
> round(p.adjust(p, method="fdr"), 3);
[1] 0.016 0.036 0.061 0.088 0.157 0.315 0.529 0.872