Open KronosTheLate opened 2 years ago
Both ANOVA and regression are a linear model (LM), which is a special case of a GLM. If you're modelling the outcome variable as normally distributed (the default for the GLM function), then you're using a LM. After a LM is fit, one can examine the coefficients as in a regression analysis, or examine how the variance is partitioned as in an ANOVA analysis. I've always disliked how many stats courses treat regression and ANOVA as separate.
I think this package needs more documentation and examples instead of another function. I plan on converting the R code from my book (https://github.com/stanlazic/labstats) into Julia, so that may help lower the bar for entry.
I still do not understand how to use GLM to do ANOVA. Nor do I understand what
EffectsCoding()
is, or whatcontrasts
do in a call tofit
.So below is something I made - a simple interface to take a number of vectors as inputs, and preform anova on them, without making a GLM. My proposition is to include this interface in the package, for users like myself:
The following can be added to allow matrix inputs, similar to the API i encountered in MATLAB.
If this is to be THE package for ANOVA in Julia, I think that an API without using GLM should be part of it, because a) it is simpler to use, and does not require understanding of GLM b) One can use GLM directly, should one already be fluent in its use, to do ANOVA. This package should have a low bar of entry - it is currently too high for me.