Co-correspondence analysis with R

CRAN version CRAN downloads R-CMD-check codecov

cocorresp fits symmetric and predictive co-correspondence analysis (CoCA) models in R. CoCA relates two community matrices together in the same way that CCA relates a community matrix and a matrix of environmental or other predictor variables.


Fits predictive and symmetric co-correspondence analysis (CoCA) models to relate one data matrix to another data matrix. More specifically, CoCA maximises the weighted covariance between the weighted averaged species scores of one community and the weighted averaged species scores of another community. CoCA attempts to find patterns that are common to both communities.

The main interface function is coca which accepts a formula or two community data matrices. An appropriate formula is Y ~ ., data = X and the associated data object from which . will be looked up. The method argument is used to select from the two forms of CoCA:

  1. method = "predictive" for predictive CoCA (the default), and
  2. method = "symmetric" for symmetric CoCA.

cocorresp is based on original Matlab routines by C.J.F. ter Braak and A.P. Schaffers. The R port was by Gavin L. Simpson. Function cocorresp::simpls() is largely based on from the pls package of Ron Wehrens and Bjorn-Helge Mevik.


cocorresp is available from CRAN; install the latest release using


To install the development version, use the remotes package (you may need to install remotes first)