[R-sig-ME] "mixed" MANOVAs

peter dalgaard pdalgd at gmail.com
Tue Jul 3 09:20:39 CEST 2012

On Jul 2, 2012, at 18:39 , Ben Bolker wrote:

> peter dalgaard <pdalgd at ...> writes:
>> On Jun 30, 2012, at 21:22 , peter dalgaard wrote:
> [snip]
>> On closer examination, the warning is just a buglet: Inside aov() we
>> should be looking at NROW(er.fit$coefficients), not length(). So the
>> situation seems to be that the feature (multistratum MANOVA) has
>> indeed implemented itself...
> fortune() candidate?
> You know you've written a mature software environment when it starts
> implementing new features on its own ...

Given that manova() was based on a similar S-PLUS routine, perhaps it is not all that strange. 

Contrary to my initial belief, this really has nothing to do with anova.mlm(). It is summary.manova that does the grunt work. The ingenious part is that manova() does not return an object of class "manova" in the multistratum case, but instead an object of class "aovlist" in which each component has class "manova", and summary.aovlist() automatically does the right thing. 

However, this has been the case since at least the "split from base" in 2003 (quite a few files were moved around at the time and it is painful to track changes in SVN further back). 

The note in ?manova was there at that time too. It may simply have been a mistake based on the fact that summary.manova() has no apparent knowledge of error strata (which as per the above it doesn't need to have.)

Cc to Brian, maybe he can recall the issue.

Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com

More information about the R-sig-mixed-models mailing list