

   CCaannoonniiccaall CCoorrrreellaattiioonnss

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

   AArrgguummeennttss::

          x: numeric matrix (n * p1), containing the x coordi-
             nates.

          y: numeric matrix (n * p2) of 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 sub-
             tracted from the columns.

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

   DDeessccrriippttiioonn::

        Compute the canonical correlations between `x' and `y'.
        The canonical correlation analysis seeks linear combi-
        nations of the y variables which are well explained by
        linear combinations of the x variables.

   VVaalluuee::

        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.

   RReeffeerreenncceess::

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

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

   SSeeee AAllssoo::

        `qr', `svd'.

   EExxaammpplleess::

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

        x <- matrix(rnorm(150), 50, 3)
        y <- matrix(rnorm(250), 50, 5)
        str(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)

