R: Mauchly's Test of Sphericity

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

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

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

[Package stats version 3.5.1 Index]