When using RDA as the base constrained ordination in residLen() it would be useful to allow transformations sensu Legendre and Gallagher. importantly, these should be applied to the training set and then the same transformation applied to the passive samples using, if needed by the particular transformation, parameters derived from applying the transformation to the training set data.
This should be done in a separate function such that pcr(), which has this functionality already, can make use of a single function call.