Rev 68948 | Rev 85908 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/stats/man/anova.mlm.Rd% Part of the R package, https://www.R-project.org% Copyright 1995-2014 R Core Team% Distributed under GPL 2 or later\name{anova.mlm}\alias{anova.mlm}%\alias{anova.mlmlist}\title{Comparisons between Multivariate Linear Models}\description{Compute a (generalized) analysis of variance table for one or moremultivariate linear models.}\usage{\method{anova}{mlm}(object, \dots,test = c("Pillai", "Wilks", "Hotelling-Lawley", "Roy","Spherical"),Sigma = diag(nrow = p), T = Thin.row(proj(M) - proj(X)),M = diag(nrow = p), X = ~0,idata = data.frame(index = seq_len(p)), tol = 1e-7)}\arguments{\item{object}{an object of class \code{"mlm"}.}\item{\dots}{further objects of class \code{"mlm"}.}\item{test}{choice of test statistic (see below). Can be abbreviated.}\item{Sigma}{(only relevant if \code{test == "Spherical"}). Covariancematrix assumed proportional to \code{Sigma}.}\item{T}{transformation matrix. By default computed from \code{M} and\code{X}.}\item{M}{formula or matrix describing the outer projection (see below).}\item{X}{formula or matrix describing the inner projection (see below).}\item{idata}{data frame describing intra-block design.}% avoid Matrix's grab of qr.\item{tol}{tolerance to be used in deciding if the residuals arerank-deficient: see \code{\link{qr}}.}}\details{The \code{anova.mlm} method uses either a multivariate test statistic forthe summary table, or a test based on sphericity assumptions (i.e.that the covariance is proportional to a given matrix).For the multivariate test, Wilks' statistic is most popular in theliterature, but the default Pillai--Bartlett statistic isrecommended by Hand and Taylor (1987). See\code{\link{summary.manova}} for further details.For the \code{"Spherical"} test, proportionality is usually with theidentity matrix but a different matrix can be specified using \code{Sigma}.Corrections for asphericity known as the Greenhouse--Geisser,respectively Huynh--Feldt, epsilons are given and adjusted \eqn{F} tests areperformed.It is common to transform the observations prior to testing. Thistypically involvestransformation to intra-block differences, but more complicatedwithin-block designs can be encountered,making more elaborate transformations necessary. Atransformation matrix \code{T} can be given directly or specified asthe difference between two projections onto the spaces spanned by\code{M} and \code{X}, which in turn can be given as matrices or asmodel formulas with respect to \code{idata} (the tests will beinvariant to parametrization of the quotient space \code{M/X}).As with \code{anova.lm}, all test statistics use the SSD matrix fromthe largest model considered as the (generalized) denominator.Contrary to other \code{anova} methods, the intercept is not excludedfrom the display in the single-model case. When contrasttransformations are involved, it often makes good sense to test for azero intercept.}\value{An object of class \code{"anova"} inheriting from class \code{"data.frame"}}\note{The Huynh--Feldt epsilon differs from that calculated by SAS (as ofv.\sspace{}8.2) except when the DF is equal to the number of observationsminus one. This is believed to be a bug in SAS, not in \R.}\references{Hand, D. J. and Taylor, C. C. (1987)\emph{Multivariate Analysis of Variance and Repeated Measures.}Chapman and Hall.}%% Probably use example from Baron/Li\seealso{\code{\link{summary.manova}}}\examples{require(graphics)utils::example(SSD) # Brings in the mlmfit and reacttime objectsmlmfit0 <- update(mlmfit, ~0)### Traditional tests of intrasubj. contrasts## Using MANOVA techniques on contrasts:anova(mlmfit, mlmfit0, X = ~1)## Assuming sphericityanova(mlmfit, mlmfit0, X = ~1, test = "Spherical")### tests using intra-subject 3x2 designidata <- data.frame(deg = gl(3, 1, 6, labels = c(0, 4, 8)),noise = gl(2, 3, 6, labels = c("A", "P")))anova(mlmfit, mlmfit0, X = ~ deg + noise,idata = idata, test = "Spherical")anova(mlmfit, mlmfit0, M = ~ deg + noise, X = ~ noise,idata = idata, test = "Spherical" )anova(mlmfit, mlmfit0, M = ~ deg + noise, X = ~ deg,idata = idata, test = "Spherical" )f <- factor(rep(1:2, 5)) # bogus, just for illustrationmlmfit2 <- update(mlmfit, ~f)anova(mlmfit2, mlmfit, mlmfit0, X = ~1, test = "Spherical")anova(mlmfit2, X = ~1, test = "Spherical")# one-model form, eqiv. to previous### There seems to be a strong interaction in these dataplot(colMeans(reacttime))}\keyword{regression}\keyword{models}\keyword{multivariate}