Detrended Correspondence Analysis (DCA)

Published

August 1, 2024

Material required for this chapter
Type Name Link
Theory Numerical Ecology in R See pages 139-140
Slides NA
Data The Doubs River data 💾 Doubs.RData
Tasks to complete in this Chapter
  • None

Environmental gradients often support a turnover of species due to their unimodal distributions in response to environmental factors. As one moves along the gradient, contiguous sites become increasingly dissimilar. In long gradients, this can result in sites at opposite ends having no species in common. Consequently, at maximum distances between sites, we typically find completely distinct species compositions.

When plotted on a pair of Correspondence Analysis (CA) axes, this gradient is represented as an arch rather than a linear trend. This phenomenon leads to two major problems in CA:

Due to the arch effect, the second CA axis is often an artefact and difficult to interpret ecologically. The compression issue means that the spacing of samples and species along the first axis may not correctly reflect the amount of change (\(\beta\)-diversity) along the primary gradient. However, the arch effect in CA is less severe than the horseshoe effect in Principal Component Analysis (PCA), and the samples are still ordered correctly relative to each other.

Detrended Correspondence Analysis (DCA) addresses these issues by removing the arch effect through a process called detrending. This involves segmenting the first axis into equal intervals and adjusting the scores within each segment to remove systematic distortions caused by the arch effect. It maintains the use of \(\chi\)-squared distances while improving the interpretability of the ordination results.

# Load necessary libraries
library(vegan)
library(ggplot2)
library(ggpubr)

# Load example data
data(dune)

# Perform CA
ca_result <- cca(dune)

# Perform DCA
dca_result <- decorana(dune)

# Extract scores for sites
ca_sites <- scores(ca_result, display = "sites")
dca_sites <- scores(dca_result, display = "sites")

# Create CA plot
ca_plot <- ggplot(as.data.frame(ca_sites), aes(x = CA1, y = CA2)) +
  geom_point(color = 'dodgerblue4', size = 1.8) +
  labs(title = "CA Ordination Plot (Sites)", x = "CA1", y = "CA2") +
  theme_linedraw()

# Create DCA plot
dca_plot <- ggplot(as.data.frame(dca_sites), aes(x = DCA1, y = DCA2)) +
  geom_point(color = 'indianred4', size = 1.8) +
  labs(title = "DCA Ordination Plot (Sites)", x = "DCA1", y = "DCA2") +
  theme_linedraw()

# Arrange plots side by side
ggarrange(ca_plot, dca_plot, ncol = 2, labels = "AUTO")
Figure 1: Comparison of CA and DCA ordinations applied to the dune data.

Reuse

Citation

BibTeX citation:
@online{j._smit2024,
  author = {J. Smit, Albertus},
  title = {Detrended {Correspondence} {Analysis} {(DCA)}},
  date = {2024-08-01},
  url = {http://tangledbank.netlify.app/BCB743/DCA.html},
  langid = {en}
}
For attribution, please cite this work as:
J. Smit A (2024) Detrended Correspondence Analysis (DCA). http://tangledbank.netlify.app/BCB743/DCA.html.