I think this discussion is turning a little fruitless.

ANOVA tests are very widely used in sciences based on block experiments, like much of classical ecology. They are particularly nice because you can design the experiment to follow a specific ANOVA test and vice versa. For this reason, ANOVA is possibly the most widely performed statistical procedure in the world after the bivariate linear regression.

I know that there are statisticians that argue about potential pitfalls in ANOVA, and of course anyone should only implement statistical procedures in their own package that they are comfortable with. I donāt think it qualifies ss an argument for not having an ANOVA functionality in Julia at all.

Also, yes, they can be statistically demonstrated to be derivable from a specific type of GLM (using f-tests to compare linear models fit with only categorical dependent variable), but it is a little unclear why that needs to matter. Of course, understanding the statistical tests you are using, and itās pitfalls, is very important, but as said before this is largely a documentation issue.

When it comes to mixed models, yes, the generalized linear mixed model is a complicated topic, but specifically in the context of ANOVA it is actually well-described and tractable. In base R, for instance, a mixed effects ANOVA is created by taking an `lm`

object and running `anova(mylmobject, type = "III")`

, no need at all to call up lme4 or use REML solvers.

Noone is asking anyone in particular to implement this, but it is good to have this discussion, and it is useful for people who want to contribute to building up the language to know that there is a need for this. Development can usefully start in bringing together the authors of the 4 existing ANOVA.jl packages and having a conversation about how best to alleviate the perceived lack of functionality.