Comparing dissimilarity measures using PCA in R

2.1k Views Asked by At

I would like to compare the behaviour of several dissimilarity measures (i.e. Bray-Curtis, Jaccard, Gower). I have seen this done using a principal component biplot (i.e. see Legendre and Caceres, 2013 below):

enter image description here

Any suggestions how one goes about this? Sample data provided below:

# Load the required packages
library(ade4)
library(vegan)
library(FD)

#Load data
data(dune)

# Calculate a series of dissimilarity measures for the data
dune.bc <- vegdist(dune, method="bray")
dune.mh <- vegdist(dune, method="manhattan")
dune.eu <- vegdist(dune, method="euclidean")
dune.cn <- vegdist(dune, method="canberra")
dune.k <- vegdist(dune, method="kulczynski")
dune.j <- vegdist(dune, method="jaccard")
dune.g <- vegdist(dune, method="gower")
dune.m <- vegdist(dune, method="morisita")
dune.h <- vegdist(dune, method="horn")
dune.mf <- vegdist(dune, method="mountford")
dune.r <- vegdist(dune, method="raup")
dune.bi <- vegdist(dune, method="binomial")
dune.c <- vegdist(dune, method="chao")

#Compare the behaviour of the dissimilarity measures using a PCA plot
# Suggestions on how proceed with this step would be greatly appreciated!
2

There are 2 best solutions below

5
On

Hmm, that's not what the authors do. If you read that paper, the PCA biplot is one of the matrix of properties of each dissimilarity coefficient, not a PCA of on k dissimilarity matrices. Basically, they analysed Table 2 in the paper via PCA (minus the column at the far right, labelled *D*max).

I don't know a way to compare dissimilarity matrices, other than via a Procrustes rotation and associated PROTEST permutation test, or a Mantel test, perhaps: see procrustes(), protest() and mantel()

You can look at the rankindex() of the coefficients with the gradient values as another comparison.

0
On

It sounds like what you are trying to do is a Second Stage Analysis?

Take several dissimilarity matrices, generate pairwise rank correlations between all of them and this greats a dissimilarity matrices of your dissimilarity matrices. From there you can use NMDS to plot them all. In general you'll find that similar calculations (i.e. eucleadian family, bray-curtis family, ect.) group closely within.

Check out: Exploring interactions by second-stage community analyses. (2006) clarke, somerfield, airoldi, and warwick

Here they do what you suggest, or want: On resemblance measures for ecological studies, including taxonomic dissimilarities and a zer-adjusted Bray-Curtis coefficient for denuded assemblages. (2006) Clarke, Somerfield, and Chapman.