Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
capscale: deprecate, downgrade or upgrade? #217
Comments
|
My 2cts: |
jarioksa
added a commit
that referenced
this issue
Nov 24, 2016
|
|
jarioksa |
cd2d7c8
|
|
I have now downgraded |
|
Downgraded There is no deprecation message yet, and I haven't made my mind of deprecating |
jarioksa commentedNov 23, 2016
•
edited
I'm re-implementing constrained ordination methods using common underlying code
ordConstrained()in branch rda-2.0. I have already implemented and merged to mastercca,rdaandcapscaleand I'm ready to start finishingdbrda. Thedbrdare-implementation will break some support functions (permutestand henceanova,fittedand henceresiduals,stressplot), and fixing those will breakcapscaleat least forpermutestandanova. There are at least two alternative ways of fixing thecapscalebreakage: upgrade to have special handling ofcapscaleto give similar results as in vegan release 2.4-0 (released Jun 15, 2016), or downgrade to have similar results as in older releases (2.3-5 and older).What happened in release 2.4-0 was that we added
dbrdaas a new function for distance-based RDA. This function directly handles dissimilarities and also handles negative eigenvalues. The oldcapscale(since vegan 1.6-0 of 2003) only analysed the real components and only gave information of the magnitude of non-analysed imaginary components (sum of negative eigenvalues). When we addeddbrdawe also madecapscaleto evaluate the magnitudes of partial, constrained and residual components with these negative eigenvalues although the actual ordination was only based on real components with positive eigenvalues. In this way,anovaetc ofcapscalegave identical results todbrda, although the ordination (plots) only used real components. I have no intention of implementing this behaviour in the new unifiedordConstrainedinfrastructure, but currentlycapscalefunction adds the necessary components to its result, and currentdbrdausescapscale-like internal structure. The new code will changedbrdato use similar structure asccaandrda, and I will remove the special code for distance-based methods in the support functions likepermutests.cca(hence the breakage). Now the question is whether I still should keep that code only forcapscale(i.e., upgrade), or remove the special handling from the support functions and parallel analysis fromcapscale(i.e., to downgrade).Finally, the big question is do we really need
capscaleany longer? It has been in vegan for thirteen years, but it is superseded bydbrda. We could deprecatecapscalein release2.4-2and make defunct in 2.6-0 (i.e., not yet in 2.5-0 where it would be deprecated). Should it be downgraded before that? Or should we keep downgradedcapscaleonly handling real dimensions & positive eigenvalues?