mauchly.test {stats} | R Documentation |
Mauchly's Test of Sphericity
Description
Tests whether a Wishart-distributed covariance matrix (or transformation thereof) is proportional to a given matrix.
Usage
mauchly.test(object, ...)
## S3 method for class 'mlm'
mauchly.test(object, ...)
## S3 method for class 'SSD'
mauchly.test(object, Sigma = diag(nrow = p),
T = Thin.row(Proj(M) - Proj(X)), M = diag(nrow = p), X = ~0,
idata = data.frame(index = seq_len(p)), ...)
Arguments
object |
object of class |
Sigma |
matrix to be proportional to. |
T |
transformation matrix. By default computed from |
M |
formula or matrix describing the outer projection (see below). |
X |
formula or matrix describing the inner projection (see below). |
idata |
data frame describing intra-block design. |
... |
arguments to be passed to or from other methods. |
Details
This is a generic function with methods for classes "mlm"
and
"SSD"
.
The basic method is for objects of
class SSD
the method for mlm
objects just extracts the
SSD matrix and invokes the corresponding method with the same options
and arguments.
The T
argument is used 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
matrix T
can be given directly or specified as
the difference between two projections onto the spaces spanned by
M
and X
, which in turn can be given as matrices or as
model formulas with respect to idata
(the tests will be
invariant to parametrization of the quotient space M/X
).
The common use of this test is in repeated measurements designs, with
X = ~1
. This is almost, but not quite the same as testing for
compound symmetry in the untransformed covariance matrix.
Notice that the defaults involve p
, which is calculated
internally as the dimension of the SSD matrix, and a couple of hidden
functions in the stats namespace, namely proj
which
calculates projection matrices from design matrices or model formulas
and Thin.row
which removes linearly dependent rows from a
matrix until it has full row rank.
Value
An object of class "htest"
Note
The p-value differs slightly from that of SAS because a second order term is included in the asymptotic approximation in R.
References
T. W. Anderson (1958). An Introduction to Multivariate Statistical Analysis. Wiley.
See Also
Examples
utils::example(SSD) # Brings in the mlmfit and reacttime objects
### traditional test of intrasubj. contrasts
mauchly.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")))
mauchly.test(mlmfit, X = ~ deg + noise, idata = idata)
mauchly.test(mlmfit, M = ~ deg + noise, X = ~ noise, idata = idata)