vegan
vegan copied to clipboard
Feature request: Extend CAP to include Canonical Analysis of Principal Coordinates based on Discriminant Analysis
Currently vegan includes Canonical Analysis of Principal Coordinates (CAP) via the function capscale but this conforms more to distance-based Redundancy Analysis (Legendre & Anderson, 1999) than to the original description for CAP (Anderson & Willis, 2003), which is a distance-based form of discriminant function analysis. This latter approach is useful for a number of different user groups aiming to classify samples to groups.
There is a function (CAPdiscrim) in the BiodiversityR package which utilises vegan. However, this function is not fully developed as it does not allow the classification of unknown samples.
capscale
is there only for historic reasons, and currently dbrda
is the main distance-based method. I have no plans to further develop capscale
. However, contributed code and pull requests will be considered. It is best to consult developers first with more detailed plans to guarantee incorporation of the code.
I'm not sure if this is an appropriate place to ask this, but @jarioksa can you justify why capscale has been shelved and dbrda is the main method? Do they achieve the same thing? Does dbrda have advantages over CAP? I had the same query as the poster, so some more information to help me understand this would be much appreciated!
@ecologyjh dbrda
handles negative eigenvalues with semimetric and nonmetric dissimilarities. So it copes with imaginary (complex valued) eigenvectors. capscale
takes only the real part of semimetric and nonmetric dissimilarities, and ignores the negative eigenvalues. If you have metric dissimilarity indices (that we may call as distances), these two methods are equivalent and give the same results.
The biodiversityR maintainer Roeland Kindt suggested that he would like to see several biodiversityR functions be incorporated in vegan. I agree. However, I've been busy with other issues. I am ready to incorporate any biodiversityR functionality (with possible enhancements). If any of you can construct a pull request, I'll be happy to merge that in vegan. However, please communicate with Roeland Kindt before your pull requests (I will ask him anyway, and if he says "no", that'll be it).