cancor                  package:mva                  R Documentation

Canonical Correlations

Description:

     Compute the canonical correlations between two data matrices.

Usage:

     cancor(x, y, xcenter = TRUE, ycenter = TRUE)

Arguments:

       x: numeric matrix (n * p1), containing the x coordinates.

       y: numeric matrix (n * p2), containing the y coordinates.

 xcenter: logical or numeric vector of length p1, describing any
          centering to be done on the x values before the analysis.  If
          `TRUE' (default), subtract the column means. If `FALSE', do
          not adjust the columns.  Otherwise, a vector of values to be
          subtracted from the columns.

 ycenter: analogous to `xcenter', but for the y values.

Details:

     The canonical correlation analysis seeks linear combinations of
     the `y' variables which are well explained by linear combinations
     of the `x' variables. The relationship is symmetric as `well
     explained' is measured by correlations.

Value:

     A list containing the following components: 

     cor: correlations.

   xcoef: estimated coefficients for the `x' variables.

   ycoef: estimated coefficients for the `y' variables.

 xcenter: the values used to adjust the `x' variables.

 ycenter: the values used to adjust the `x' variables.

References:

     Hotelling H. (1936). Relations between two sets of variables.
     Biometrika, 28, 321-327.

     Seber, G. A. F. (1984). Multivariate Observations. New York:
     Wiley, p. 506f.

See Also:

     `qr', `svd'.

Examples:

     data(LifeCycleSavings)
     pop <- LifeCycleSavings[, 2:3]
     oec <- LifeCycleSavings[, -(2:3)]
     cancor(pop, oec)

     x <- matrix(rnorm(150), 50, 3)
     y <- matrix(rnorm(250), 50, 5)
     (cxy <- cancor(x, y))
     all(abs(cor(x %*% cxy$xcoef,
                 y %*% cxy$ycoef)[,1:3] - diag(cxy $ cor)) < 1e-15)
     all(abs(cor(x %*% cxy$xcoef) - diag(3)) < 1e-15)
     all(abs(cor(y %*% cxy$ycoef) - diag(5)) < 1e-15)

