ANCOVA (aoctool) with 2 or more covariates

Is there any way to run an ANCOVA in Matlab with more than one covariate? The aoctool function only seems able to accept an IV a DV and one covariate but I have 2, possibly 3 covariates.
I can't seem to find if this is possible using aoctool or if there is another way to do it in Matlab...
As always, any help would be greatly appreciated,
Rod.

 Accepted Answer

I'll answer my own question... again.
aoctool can't take more than one covariate and there's no way round it. However, there is a file on the file exchange called MANCOVAN which can do all sorts of things - including an ANCOVA with more than one covariate.
That function does not output the stats array required by multcompare though, so really it's a bit of a dead end. Matlab really sucks sometimes.

5 Comments

Would you happen to know what error 203 means, within the MANCOVAN program (or toolbox)? It tells me I need to get rid of redundant variables, but there are none.
Use anovan() instead.
anovan() is an n-way analysis of variance allowing for multiple grouping variables. When at least one of those grouping variables are labeled as a continuous variable, an ANCOVA is performed (Matlab calls it ANOCOVA, same thing).
An example of this useage is found here in Matlab's documentation.
Hmm, that's interesting, I didn't know ANOVAN had that functionality.
When multiple grouping variables are marked as continuous do you know if ANOVAN treats them all as covariates? i.e. can you have unlimited covariates using this method?
Thanks,
R.
Adam Danz
Adam Danz on 30 Apr 2019
Edited: Adam Danz on 2 Jan 2022
Here's a demo provided in the Matlab documentation that demonstrates the use of ANOVAN() to perform ANCOVA (matlab uses the acronym ANOCOVA, same thing). And yes, I think you can have multiple covariates by labeling multiple variables as continuous.
But the bad thing is anovan() doesn't give enough statistics to compare slopes and intersepts. It can give you just coefficients for all terms. So if you have more than one categorial IV or covariate, you can't obtain detail statics on slopes in matlab, because aoctool() performs analysis with just one categorial IV and one covariate.
It is a pity for me as a matlab patriot, since ANCOVA is a popular instrument.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!