Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Extend CAP to include Canonical Analysis of Principal Coordinates based on Discriminant Analysis #361

Open
ChrisHarrod opened this issue May 9, 2020 · 4 comments

Comments

@ChrisHarrod
Copy link

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.

@jarioksa
Copy link
Contributor

jarioksa commented May 9, 2020

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.

@ecologyjh
Copy link

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!

@jarioksa
Copy link
Contributor

@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.

@jarioksa
Copy link
Contributor

jarioksa commented Aug 15, 2020

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants