vegan icon indicating copy to clipboard operation
vegan copied to clipboard

Related to #655 should the wrappers allow partial unconstrained ordination via formula and `Condition()`?

Open gavinsimpson opened this issue 8 months ago • 4 comments

Right now we have pca(), ca(), and pco() as wrappers to fitting functions rda(), cca() and pco(). These unconstrained ordination wrappers allow arguments to be passed to the fitting function, so partial ordination is possible but only via the matrix-element interface.

Should we turn the wrappers for unconstrained ordination into S3 generics with the currently-implemented functions becoming the default method and then allowing a formula interface of the form y ~ 1 + Condition(x + z)?

I know you can you just use cca() etc for this, but the same argument as the one given in #655 applies.

If we allow this, should we check that the formula only contains 1 (or 0?) and Condition()? so that it really is an unconstrained model? Or should we allow abuse of the wrappers to pass covariates but check the object returned by cca() etc for presence of covariates (constraints) and if present return that object unmodified, so that we only return a "ca" (etc) classed object if the model has no covariates (constraints)?

gavinsimpson avatar Jun 20 '24 13:06 gavinsimpson