# mauchly.test {stats}

### 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
`SSD`

or`mlm`

. - Sigma
- matrix to be proportional to.
- T
- transformation matrix. By default computed from
`M`

and`X`

. - 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

Mauchly's test test for whether a covariance matrix can be assumed to be proportional to a given matrix.

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.

### Values

An object of class `"htest"`

### References

T. W. Anderson (1958). *An Introduction to Multivariate Statistical Analysis.* Wiley.

### Note

The p-value differs slightly from that of SAS because a second order term is included in the asymptotic approximation in R.

### See Also

`SSD`

, `anova.mlm`

, `rWishart`

### 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)

Documentation reproduced from R 3.0.2. License: GPL-2.