You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The general idea is that all these functions (cca, rda, capscale and dbrda) are very similar with the following major differences:
Inertia is defined and data are initialized in different ways. In rda the inertia is variance or standardized variances (correlations), in cca inertia is derived from Chi-square and data are double-standardized, in dbrda inertia is based on squared dissimilarities and dissimilarity data are Gower double-centred, and in capscale the dissimilarities are mapped onto Euclidean coordinates and analysed like in rda.
cca is double-standardized and we need to handle row and column weights unlike in other methods.
dbrda is based on eigen decomposition of symmetric data, but other methods on singular value decomposition of rectangular data.
There are no other differences.
The new functions should appear nearly unchanged to the user. There is one known issue that has not be implemented yet: handling of zero-rank components. However, possible new problems only crop out in use. I hope many people haven on opportunity to try and tease these new functions to fix the problems prior the CRAN release.
The new infrastructure is cleaner, more consistent among methods and more easily maintained (it is also somewhat faster for some methods). It is also more easily extended to new analyses. It would also be very simple to change the name of the ordination components from pCCA, CCA and CA to Partial, Constrained and Unconstrained like @gavinsimpson suggested in issue #207.
There may be still opportunity to clean up. Currently the final result objects are built with separate layers:
ordConstrained builds and returns the basic ordination structure.
ordConstrained is called by old functions and these add items to the data: information of NA handling, missing species, centroids of factor variables if formula interface was used etc. The man/cca.object.Rd files still looks unnecessarily complicated, and several of its items are not derived from ordConstrained.
Currently ordConstrained is exported, and it could be used by a knowledgeable user in the same way as lm.fit can be used instead of lm (please read ?lm.fit to see the difference). I don't know if ordConstrained should be visible or made non-exported function. That is open to discussion.
The text was updated successfully, but these errors were encountered:
I have now implemented a first sweep on basing all constrained ordination methods in shared code. The major merges to master are
ordConstrained
infrastructurecca
rda
, first steprda
, second step + support functionscapscale
dbrda
and downgrading ofcapscale
(issue capscale: deprecate, downgrade or upgrade? #217)The general idea is that all these functions (
cca
,rda
,capscale
anddbrda
) are very similar with the following major differences:Inertia is defined and data are initialized in different ways. In
rda
the inertia is variance or standardized variances (correlations), incca
inertia is derived from Chi-square and data are double-standardized, indbrda
inertia is based on squared dissimilarities and dissimilarity data are Gower double-centred, and incapscale
the dissimilarities are mapped onto Euclidean coordinates and analysed like inrda
.cca
is double-standardized and we need to handle row and column weights unlike in other methods.dbrda
is based on eigen decomposition of symmetric data, but other methods on singular value decomposition of rectangular data.There are no other differences.
The new functions should appear nearly unchanged to the user. There is one known issue that has not be implemented yet: handling of zero-rank components. However, possible new problems only crop out in use. I hope many people haven on opportunity to try and tease these new functions to fix the problems prior the CRAN release.
The new infrastructure is cleaner, more consistent among methods and more easily maintained (it is also somewhat faster for some methods). It is also more easily extended to new analyses. It would also be very simple to change the name of the ordination components from
pCCA
,CCA
andCA
toPartial
,Constrained
andUnconstrained
like @gavinsimpson suggested in issue #207.There may be still opportunity to clean up. Currently the final result objects are built with separate layers:
ordConstrained
builds and returns the basic ordination structure.ordConstrained
is called by old functions and these add items to the data: information ofNA
handling, missing species, centroids of factor variables if formula interface was used etc. Theman/cca.object.Rd
files still looks unnecessarily complicated, and several of its items are not derived fromordConstrained
.Currently
ordConstrained
is exported, and it could be used by a knowledgeable user in the same way aslm.fit
can be used instead oflm
(please read?lm.fit
to see the difference). I don't know ifordConstrained
should be visible or made non-exported function. That is open to discussion.The text was updated successfully, but these errors were encountered: