The main idea...
Correspondence analysis (CA) may be used to calculate and visualise the degree of 'correspondence' between the rows and columns of a table of frequency data, such as count, presenceabsence, or abundance data. Roughly, 'correspondence' is a measure of how strongly the frequencies across rows and columns of the data table deviate from a null model of "no association" (See Legendre & Legendre, 1998 for more detail). CA is best applied to data sets where variables (columns) show unimodal distributions across objects (rows). In a CA ordination (Figure 1), each row and column will be represented by a point. The positions of these points indicate how strongly they 'correspond' to one another. In contrast to other indirect gradient analysis methods such as principal components analysis (PCA), CA does not attempt to maximise the amount of variance explained by its reducedspace ordination. Instead, CA tries to maximise the representation of 'correspondence' between the rows and columns of the table. If you had a "sites x species" table, CA would attempt to find a reducedspace answer to questions such as "Which sites do my species prefer?" or "Which sites to my species correspond to?" This is accomplished by performing eigenanalysis on a transformation of the original data table such that each value represents a contribution to the Pearson's χ^{2} (chisquared) statistic computed for the data. When calculating the χ^{2} coefficient, "double zeros" are excluded. See the (dis)similarity page of this guide for more information on the χ^{2} coefficient and the "double zero" problem. CA can ordinate either the rows or the columns with accuracy (see Reading a CA plot, below).

Total inertia  The total inertia of a CA solution conveys the degree to which the values of rows and columns correspond to each other. More specifically, it reflects the degree to which rows and columns deviate from the null hypothesis of "no association", according to the logic of the Pearson's χ^{2} statistic. 
Eigenvalues  Each CA axes has an associated eigenvalue which will represent a fraction of the total inertia. Axes with larger eigenvalues will generally be more informative than those with smaller eigenvalues. A CA joint plot typically visualises the first two or three axes with the largest eigenvalues. 
Object and variable scores  Objects and variables will have scores along each CA axis calculated. These scores are used as the new set of coordinates in the CA ordination. 
Reading a CA plot
ScalingThe type of scaling used for CA will determine whether objecttoobject or variabletovariable distances are meaningful. In general, objecttovariable distances are not ordinated with great accuracy; however, smaller objecttovariable distances roughly indicate the increased probability of a given variable being 'present at', 'abundant at', or otherwise influential for a given object. Regardless of the scaling chosen, the distances between points in a CA plot are χ^{2} distances, and must be interpreted as such.
Type I  Type I scaling ordinates objects (rows) with accuracy. The closer object points are to one another, the more similar their distribution of values across variables. 
Type II  Type II scaling ordinates variables (columns) with accuracy. The closer variable points are to one another, the more similar their distribution of values across objects. 
Axes
Usually, the two axes with the most inertia and thus the highest eigenvalues (see above) are shown; however, CA axes other than first two or three may still be informative for some objects and variables and should be inspected. As with PCA, the "broken stick model" and the KaiserGuttman criterion may be used to suggest the optimal number of axes to plot. CA axes are orthogonal to one another, meaning that they are uncorrelated.
Postanalysis
The scores of objects and variables along one or more CA axes may be used in subsequent analysis. For example, one may correlate object scores along the first axis of a CA solution using Type I scaling with an environmental variable (as an explanatory variable). Such indirect methods are informative, but more recent direct gradient analysis methods, such as canonical correspondence analysis (CCA), are perhaps better suited to questions of this kind.
Different ordinations CA ordinations may be compared using Procrustes analysis.
Key assumptions
 Variables have a unimodal distribution across objects. CA can tolerate some multimodality and centroids will then reflect the weighted average of the variable's modes. This complicates interpretation, however.
 Variables are dimensionally homogeneous (i.e. have the same units).
 All variables are have either zero or positive values.
Warnings
 The Arch Effect. An archshaped positioning of points may be an artifact the CA algorithm's attempts to create axes that maximally separate objects while being uncorrelated (ter Braak, 1987). An arched ordination may, however, also be an accurate representation of the associations in your table (James & McCulloch, 1990). If you believe an arched ordination is not meaningful, consider applying detrended correspondence analysis (DCA).
 Poorly ordinated objects and variable points. Points at the centre (the zero point) or at the edges of the ordination may be poorly ordinated. In type II scaling, it must be checked whether variable points ordinated at the centre or towards the edges of a CA plot are wellrepresented by the first 2 CA axes. It's possible that other CA axes are more appropriate. Further, variable points at the edges often contribute little to the total inertia of the CA solution (i.e. they represent rare phenomena) and are grouped with the objects they best associate with. Consider removing variables with only a few nonzero values. Points away from the edges and the origin are likely to be the most informative.
 CA is sensitive to outliers and variables with only a few nonzero values (e.g. rare species). Ordinations which include these elements may be difficult to interpret. Downweighting 'rare' variables or omitting objects with markedly different variable values (outliers) can improve the ordination; however, these procedures must be clearly reported and carefully considered.
 Eigenvalues in CA are not equivalent to those of PCA and should not be interpreted in terms of "variation" but "inertia".
Walkthroughs featuring correspondence analysis
Implementations
 R
 The function ca() in the package mva
 The function ca() in the package labdsv
 The function CAIV() in the package CoCoAn
 The function cca() in the package vegan (This function will also perform a CCA. To perform a CA, simply omit the argument corresponding to the matrix of explanatory variables to perform a CA)
References
 James FC & McCulloch CE (1990) Multivariate analysis in ecology and systematics: panacea or pandora’s box? Annu Rev Ecolog Syst 21: 129–166.
 Legendre P, Legendre L. Numerical Ecology. 2nd ed. Amsterdam: Elsevier, 1998. ISBN 9780444892508.
 ter Braak CJF. Ordination. Data Analysis in Community and Landscape Ecology (Jongman RHG, ter Braak CJF & van Tongeren OFR, eds). Pudoc: Wageningen.1987