Performs canonical correspondence analysis (A.I. Glaser).

### Options

`PRINT` = string tokens |
Controls printed output (`variance` , `loadings` , `roots` , `evalues` , `evectors` , `speciesscores` , `sitescores` , `fitsitescores` , `correlations` , `fitcorrelations` ); default `vari` , `root` |
---|---|

`NROOTS` = scalar |
Number of eigenvalues and eigenvectors to include in output; default `*` takes all the non-zero eigenvalues |

`NORMALIZE` = string tokens |
Whether to normalize the `Y` , `X` and/or `Z` variates to have unit sums-of-squares before the analysis (`x` , `y` , `z` ); default `x` , `z` |

`SCALING` = string tokens |
Whether to scale for species or site score (`species` , `site` ); default `spec` |

`TOLERANCE` = scalar |
Tolerance for detecting non-zero eigenvalues; default 10^{-5} |

### Parameters

`Y` = pointers |
Each pointer defines a set of response variates to be modelled |
---|---|

`X` = pointers |
Explanatory variates or factors to use for each pointer of y-variates |

`Z` = pointers |
Conditioning variates or factors to remove (“partial out”) before the analysis |

`LRV` = LRVs |
LRV structure from each analysis, storing the eigenvectors, eigenvalues and total variance |

`SPECIESSCORES` = matrices |
Save the “species scores” from each analysis |

`SITESCORES` = matrices |
Save the “site scores” from each analysis |

`FITSITESCORES` = matrices |
Save the fitted “site scores” from each analysis |

`CORRELATIONS` = matrices |
Saves the correlations between the site scores and the x-variates |

`FITCORRELATIONS` = matrices |
Saves the correlations between the fitted site scores and the x-variates |

`SAVE` = pointers |
Save structure which provides information for use in `CRBIPLOT` and `CRTRIPLOT` |

### Description

`CCA`

performs canonical correspondence analysis and partial canonical correspondence analysis.

Canonical correspondence analysis is the canonical form of correspondence analysis. It is similar to redundancy analysis (see `RDA`

). However, in `CCA`

, we apply weighted multiple regression to a transformed data matrix with the fitted values subjected to correspondence analysis.

The `Y`

parameter specifies the response data as a pointer to a set of y-variates. Each variate contains observations of numbers of a particular species at a set of sites (the same sites and in the same order for each species). The explanatory variables, which may be either variates or factors, are specified in a pointer by the `X`

parameter. Similarly, the `Z`

parameter can be used to specify conditioning variables, which again may be either variates or factors. When a pointer of z-variables is supplied, `CCA`

performs a partial canonical correspondence analysis, in which the effects of the z-variables are removed prior to the canonical correspondence analysis. This can be useful when the effects of the elements of `Z`

on `Y`

are well known, or if we wish to isolate the effect of an single explanatory variable (in which case we would place all but one of the explanatory variables in `Z`

). When all elements of a variable are equal to zero, `CCA`

removes the variable.

The `PRINT`

option controls printed output, with settings:

`roots` |
the eigenvalues of the fitted values; |
---|---|

`evalues` |
synonym of roots; |

`loadings` |
the eigenvectors associated with each eigenvalue, also known as the “species scores”; |

`evectors` |
synonym of loadings; |

`speciesscores` |
the “species scores” from the analysis (synonym of `loadings` and `evectors` ); |

`variance` |
the fraction of the variance of the y-variates associated with each eigenvalue; |

`sitescores` |
the “site scores” of the y-variates (i.e. the ordination of the units in the y-variate space); |

`fitsitescores` |
the fitted “site scores” of the fitted values of the y-variates (i.e. the ordination of the units in the y-variate space); |

`correlations` |
the correlation between the site scores and the x-variables; |

`fitcorrelations` |
the correlation between the fitted site scores and the x-variables. |

By default `PRINT=roots,variance`

. The `LRV`

, `SPECIESSCORES`

, `SITESCORES`

, `FITSITESCORES`

, `CORRELATIONS`

and `FITCORRELATIONS`

parameters allow this information to be saved.

The `NROOTS`

option specifies the number of eigenvalues and eigenvectors to include in the output. By default all the non-zero eigenvalues are included. The `NORMALIZE`

option controls whether to normalize the `Y`

variates, or `X`

or `Z`

variables to have unit sums-of-squares before the analysis. The default is to normalize the x and z-variables but not the y-variates. (Note: normalization of only the x’s and z’s does not affect the variances accounted for in the y-variates.)

The `SCALING`

option controls which scores are scaled by `CCA`

: either the species scores or the site scores. The scaling is done by multiplying them by their corresponding eigenvalues. Choosing ‘site’ is equivalent to Scaling type 1 in Legendre & Legendre (1998), whilst ‘species’ is equivalent to their Scaling type 2.

The `TOLERANCE`

option specifies a threshold for the detection of non-zero eigenvalues (default 10^{-5}). An eigenvalue is taken to be non-zero if is it greater than `TOLERANCE`

.

The `SAVE`

parameter allows you to save a pointer containing full details of the analysis. This can then be used to generate plots using the `CRBIPLOT`

or `CRTRIPLOT`

procedures. The most recent save structure is kept automatically inside Genstat to use as a default for the `SAVE`

options of `CRBIPLOT`

and `CRTRIPLOT`

. So, you need save the pointer explicitly only if you want to display output from more than one analysis at a time.

Options: `PRINT`

, `NROOTS`

, `NORMALIZE`

, `SCALING`

, `TOLERANCE`

.

Parameters: `Y`

, `X`

, `Z`

, `LRV`

, `SPECIESSCORES`

, `SITESCORES`

, `FITSITESCORES`

, `CORRELATIONS`

, `FITCORRELATIONS`

, `SAVE`

.

### Method

CCA and partial CCA are explained in Sections 11.2 and 11.3 of Legendre & Legendre (1998). In Genstat the multiple regression is carried out using the QR decomposition (see `QRD`

).

### Action with `RESTRICT`

If any of the variate or factors in the `Y`

, `X`

or `Z`

pointers are restricted, only the defined subset of the units will be used in the analysis.

### Reference

Legendre, P. & Legendre, L. (1998). *Numerical Ecology, Second English Edition*. Elsevier, Amsterdam.

### See also

Procedures: `CRBIPLOT`

, `CRTRIPLOT`

, `CANCORRELATION`

, `PLS`

, `RDA`

.

Commands for: Multivariate and cluster analysis.

### Example

CAPTION 'CCA example','Example from Legendre & Legendre (1998)';\ STYLE=meta,plain " The data for this example come from Table 11.3 on page 590 of Legendre & Legendre. The data simulate fish observations at 10 sites from a beach at different water depths and substrates." POINTER [VALUES=Depth_m,Coral,Sand,Other] X VARIATE [NVALUES=10] Species[1...9],X[]; VALUES=\ !(1, 0, 0, 11, 11, 9, 9, 7, 7, 5),\ !(0, 0, 1, 4, 5, 6, 7, 8, 9, 10),\ !(0, 0, 0, 0, 17, 0, 13, 0, 10, 0),\ !(0, 0, 0, 0, 7, 0, 10, 0, 13, 0),\ !(0, 0, 0, 8, 0, 6, 0, 4, 0, 2),\ !(0, 0, 0, 1, 0, 2, 0, 3, 0, 4),\ !(2, 5, 0, 6, 6, 10, 4, 6, 6, 0),\ !(4, 6, 2, 2, 6, 1, 5, 6, 2, 1),\ !(4, 1, 3, 0, 2, 4, 4, 4, 0, 3),\ !(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),\ !(0, 0, 0, 0, 1, 0, 1, 0, 1, 0),\ !(1, 1, 1, 0, 0, 0, 0, 0, 0, 0),\ !(0, 0, 0, 1, 0, 1, 0, 1, 0, 1) CCA Species; X CRBIPLOT CRTRIPLOT