[R] Anova in 'car': "SSPE apparently deficient rank"

Peter Dalgaard p.dalgaard at biostat.ku.dk
Sun Jan 3 21:07:21 CET 2010


John Fox wrote:
> Dear Peter and Colleen,
> 
> I think that Peter realizes this, but what Anova() does in this case is
> equivalent to the MANOVA 
> 
>> anova(multmodel, M = ~ Afac*Bfac, X = ~Afac + Bfac, idata=poke.idata)
> Error in anova.mlm(multmodel, M = ~Afac * Bfac, X = ~Afac + Bfac, idata =
> poke.idata) : 
>   residuals have rank 4 < 6
> 
> which in turn is equivalent to
> 
>> anova(multmodel, idata=poke.idata, X=~Afac+Bfac)
> Error in anova.mlm(multmodel, idata = poke.idata, X = ~Afac + Bfac) : 
>   residuals have rank 4 < 6
> 
> both of which fail for the same reason that Anova() does: Because the
> within-subject interaction has 6 df and there are just 5 subjects, the
> residual SSP matrix, say SSPE, is of rank 4. The hypothesis of no
> interaction has (3 - 1)*(4 - 1) = 6 df, and thus the response-transformation
> matrix for this hypothesis, say P, has 6 columns. The error SSP matrix for
> the interaction, t(P) %*% SSPE %*% P, is also therefore of rank 4 < 6.
> 
> I believe that under these circumstances, it's possible to do the univariate
> F-tests but not the multivariate repeated-measures ANOVA. Since Anova()
> always computes the multivariate tests, however, I don't see a way around
> the problem without entirely changing how Anova() gets the univariate tests.

Yep. Just let me add that what you call "univariate" is what I call 
"spherical", i.e. it is based on the assumption that the true error 
covariance matrix t(P) %*% Sigma %*% P is proportional t(P) %*% P.

> What's unclear to me is whether the full data set really has just 5
> subjects.

These things do happen...


-- 
    O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
   c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
  (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)              FAX: (+45) 35327907



More information about the R-help mailing list