[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