Goede vraag!
Wel, Bonferroni is een (conservatieve) manier om de $p$-waarden uit een set $t$-toetsen te corrigeren voor multiple testing. Bonferroni vermenigvuldigt de $p$-waarden allemaal met het aantal toetsen dat je doet. Dat kan altijd, uit welke toets die $p$-waarden ook komen.
Het is geen t-toets of variant op de $t$-toets. In het curriculum worden twee $t$-toetsen behandeld: Student's $t$-toets (de $t$-toets voor gelijke varianties) en Welch's $t$-toets (de $t$-toets voor ongelijke varianties).
Achter de schermen weet ik eigenlijk niet wat SPSS en R doen als je een Bonferroni toets bestelt.
En je hebt gelijk dat de $t$-toets voor gelijke varianties verkeerd kan zijn. Sterker nog, zoals we aangeven in de stof (zie ook Field, 4th ed., boxes Jane Superbrain 5.5 en Jane Superbrain 5.6) is het beter om altijd Welch's $t$-toets te gebruiken, en dus uit te gaan van ongelijke varianties. Helemaal omdat Levene's test niet goed om kan gaan met kleine, ongelijke groepen (en als de groepen gelijke groottes hebben, zijn ongelijke varianties meestal geen probleem).
Dus, als je post-hoc toetsen doet, moet je eigenlijk ook altijd de $t$-toets voor ongelijke varianties gebruiken.
De beste aanpak is dus om handmatig alle $t$-toetsen te doen die je moet doen, en dan handmatig de $p$-waarden te vermenigvuldigen.
Overigens kan R dat laatste heel efficient met de functie p.adjust - die geef je dan gewoon een vector van $p$-waarden mee:
p.adjust(c(.003, .001, .043, .731, .078), method="bonferroni");
Op die manier kun je ook andere correcties gebruiken, zoals de Holm-Bonferroni correctie (die is wat minder onnodig conservatief dan de Bonferroni correctie) of en de FDR-gebaseerde correctie:
p.adjust(c(.003, .001, .043, .731, .078), method="holm");
p.adjust(c(.003, .001, .043, .731, .078), method="BH");
Zie de help voor meer informatie:
?p.adjust