numere-org / NumeRe

Framework for numerical computations, data analysis and visualisation
https://www.numere.org
GNU General Public License v3.0
18 stars 6 forks source link

Add two-way ANOVA #10

Closed numeredev closed 8 months ago

numeredev commented 1 year ago

DESCRIPTION

Is your change request related to a problem? Please describe. The TAB().anovaof() table method only provides a one-way ANOVA, which is not enough for all possible applications.

Describe the solution you'd like Add a two-way ANOVA to the TAB().anovaof() method implemented with #756.

Describe possible alternatives you've considered No alternatives

Additional context Migrated from here: https://sourceforge.net/p/numere/tickets/758/

(Do not write below this line)


DEVS' SECTION

ANALYSIS

The one-way anova is implemented in AnovaResult Memory::getOneWayAnova(size_t colCategories, size_t colValues, const VectorIndex& _vIndex, double significance) const within memory.cpp. It is either possible to extend this method to cope with multiple value columns in colValues, or by adding a specialized function for two-way anova according https://en.wikipedia.org/wiki/Two-way_analysis_of_variance and an additional dispatcher method using to distinguish between one-way and two-way anova.

IMPLEMENTATION STEPS

(see also our Wiki for implementation guidelines)

DOCUMENTATION STEPS

(see also our Wiki for further information)

PULL REQUEST