I would like to compare the means across three groups of equal sizes (equal sample size is small, 21). The means of each group are normally distributed, but their variances are unequal (tested via Levene's). Is a transformation the best route in this situation? Should I consider anything else first?
@JeremyMiles is right. First, there's a rule of thumb that the ANOVA is robust to heterogeneity of variance so long as the largest variance is not more than 4 times the smallest variance. Furthermore, the general effect of heterogeneity of variance is to make the ANOVA less efficient. That is, you would have lower power. Since you have a significant effect anyway, there is less reason to be concerned here.
- I demonstrate my point about lower efficiency / power here: Efficiency of beta estimates with heteroscedasticity
- I have a comprehensive overview of strategies for dealing with problematic heteroscedasticity in one-way ANOVAs here: Alternatives to one-way ANOVA for heteroscedastic data
(1) "The means of each group are normally distributed" - on what basis can you make such an assertion?
(2) your difference in variance sounds pretty small, and if sample sizes are nearly equal would cause little concern, as others have mentioned,
(3) Welch-type adjustments* for degrees of freedom exist for ANOVA just as with two-sample t-tests; and just as with their use in two sample t-tests, there's little reason not to use them as a matter of course. Indeed, the
oneway.test function in R does this by default.
*B. L. Welch (1951), On the comparison of several mean values: an alternative approach.
Biometrika, 38, 330–336.
I suggest to employ Bayesian ANOVA, which does not assume the variances are necessarily the same across groups. John K. Kruschke has made an excellent example, available here: http://doingbayesiandataanalysis.blogspot.mx/2011/04/anova-with-non-homogeneous-variances.html