\HeaderA{mauchley.test}{Mauchley's test of sphericity}{mauchley.test}
\methaliasA{mauchley.test.mlm}{mauchley.test}{mauchley.test.mlm}
\methaliasA{mauchley.test.SSD}{mauchley.test}{mauchley.test.SSD}
\keyword{htest}{mauchley.test}
\keyword{models}{mauchley.test}
\keyword{multivariate}{mauchley.test}
\begin{Description}\relax
Tests whether a Wishart-distributed covariance matrix (or
transformation thereof) is
proportional to a given matrix.
\end{Description}
\begin{Usage}
\begin{verbatim}
## S3 methods for class 'SSD' or 'mlm' 
mauchley.test(object, Sigma = diag(nrow = p),
   T = Thin.row(proj(M) - proj(X)), M = diag(nrow = p), X = ~0,
   idata = data.frame(index = seq(length = p)), ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{object}] object of class \code{SSD} or \code{mlm}
\item[\code{Sigma}] Matrix to be proportional to
\item[\code{T}] Transformation matrix. By default computed from \code{M} and
\code{X}
\item[\code{M}] Formula or matrix describing the outer projection (see below)
\item[\code{X}] Formula or matrix describing the inner projection (see below)
\item[\code{idata}] Data frame describing intra-block design
\item[\code{...}] For consistency with generic
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Mauchley's test test for whether a covariance matrix can be assumed to
be proportional to a given matrix. 

It is common to transform the observations prior to testing. This
typically involves 
transformation to intra-block differences, but more complicated
within-block designs can be encountered,
making more elaborate transformations necessary. A
transformation matrix \code{T} can be given directly or specified as
the difference between two projections onto the spaces spanned by
\code{M} and \code{X}, which in turn can be given as matrices or as
model formulas with respect to \code{idata} (the tests will be
invariant to parametrization of the quotient space \code{M/X}).

The common use of this test is in repeated measurements designs, with
\code{X=\textasciitilde{}1}. This is almost, but not quite the same as testing for
compund symmetry in the untransformed covariance matrix.
\end{Details}
\begin{Value}
An object of class \code{"htest"}
\end{Value}
\begin{Note}\relax
The p-value differs slightly from that of SAS because a second order term
is included in the asymptotic approximation.
\end{Note}
\begin{References}\relax
TW Anderson (1958). An Introduction to Multivariate
Statistical Analysis. Wiley
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{SSD}{SSD}}, \code{\LinkA{anova.mlm}{anova.mlm}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
example(SSD) # Brings in the mlmfit and reacttime objects

### traditional test of intrasubj. contrasts
mauchley.test(mlmfit, X=~1) 

### tests using intra-subject 3x2 design
idata <- data.frame(deg=gl(3,1,6, labels=c(0,4,8)),
                    noise=gl(2,3,6, labels=c("A","P")))
mauchley.test(mlmfit, X = ~ deg + noise, idata = idata)
mauchley.test(mlmfit, M = ~ deg + noise, X = ~ noise, idata=idata)
\end{ExampleCode}
\end{Examples}

