mauchly.test              package: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' name space, 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'

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)

