class skbio.math.stats.ordination.CA(X, row_ids, column_ids)[source]

Compute correspondence analysis, a multivariate statistical technique for ordination.

In general, rows in the data table will correspond to sites and columns to species, but the method is symmetric. In order to measure the correspondence between rows and columns, the \(\chi^2\) distance is used, and those distances are preserved in the transformed space. The \(\chi^2\) distance doesn’t take double zeros into account, and so it is expected to produce better ordination that PCA when the data has lots of zero values.

It is related to Principal Component Analysis (PCA) but it should be preferred in the case of steep or long gradients, that is, when there are many zeros in the input data matrix.


X : array_like

Contingency table. It can be applied to different kinds of data tables but data must be non-negative and dimensionally homogeneous (quantitative or binary).

See also



The algorithm is based on [R64], S 9.4.1., and is expected to give the same results as cca(X) in R’s package vegan.


[R64](1, 2) Legendre P. and Legendre L. 1998. Numerical Ecology. Elsevier, Amsterdam.


scores(scaling) Compute site and species scores for different scalings.