dissABC {adiv}R Documentation

Phylogenetic and Functional Similarity between Communities


Coefficients of similarity between communities that rely on the presence/absence of species are generally based on various combinations of the matching/mismatching components of the classical 2 x 2 contingency table. Three of these components are: a=the number of species shared by the two communities; b=the number of species in the first community that are not in the second; c=the number of species in the second community that are not in the first. These coefficients are extended in dissABC to include phylogenetic or functional information on species (Ricotta and Pavoine 2015).


dissABC(comm, dis, option = 1:4, method = c("J", "S", "O", "K", "SS","Si"))



a data frame or a matrix typically with communities as rows, species as columns and relative abundance or absolute abundance as entries. Column labels (species names) should be assigned as in the object dis.


a matrix (or data frame) of (phylogenetic or functional) dissimilarities among species rescaled in the range [0, 1] or an object of class dist containing these dissimilarities [obtained by functions like dsimFun in this package adiv, vegdist in package vegan, gowdis in package FD, or dist.ktab in package ade4 for functional dissimilarities, or functions like dsimTree in this package adiv, cophenetic.phylo in package ape or distTips in package adephylo for phylogenetic dissimilarities]. See also function dsimTaxo for taxonomic data. Note that dissimilarities among species need first to be rescaled in the range [0, 1]. If the dissimilarities are outside the range 0-1, a warning message is displayed and each dissimilarity is divided by the maximum over all pair-wise dissimilarities.


a numeric, either 1, 2, 3, or 4 (if several values are given only the first one is considered). See details.


a character or string, either "J", "S", "O", "K", "SS", or "Si" (if several values are given only the first one is considered). See details.


To obtain the dissimilarities among plots, one needs to choose the equations to be used for the (phylogenetic or functional) components A, B, and C thanks to argument option and the way the components will be combined, thanks to argument method.

Let D=(d_ij) a matrix of (functional, morphological or phylogenetic) dissimilarities between pairs of species with d_ij = d_ji and d_ii = 0. If the dissimilarity coefficient d is in the range [0, 1], it is possible to define a corresponding similarity coefficient s as the complement of d: s = 1 - d. Let x_ik the abundance of species i in community k. S(kh) is the number of species in the pooled communities k and h (i.e. the species for which min(x_ik, x_ih) > 0). The (absolute) abundance of species similar to i in plot k is

Z_ik=sum_j^S(kh) x_jk s_ij


If option=1, equations 6-8 of the main text of Ricotta and Pavoine (2015) are used for calculating components A, B, C:

A=sum_i^S(kh) min(Z_ik, Z_ih)

B=sum_i^S(kh) [max(Z_ik, Z_ih)-Z_ih]

C=sum_i^S(kh) [max(Z_ik, Z_ih)-Z_ik]

If option=2, equations A1-A3 from Appendix S1 of Ricotta and Pavoine (2015) are used.

If option=3, equations A5-A7 from Appendix S1 of Ricotta and Pavoine (2015) are used.

If option=4, equations A10-A12 from Appendix S1 of Ricotta and Pavoine (2015) are used.

If method="J"=the Jaccard index is used:


If method="S"=the Sorensen index is used:


If method="O"=the Ochiai index is used:


If method="K", the Kulczynski index is used:


If method="SS", the Sokal-Sneath index is used:


If method="Si", the Simpson index is used:



Function dissABC returns a matrix with the values of the proposed similarities among communities based on interspecies resemblances.


Sandrine Pavoine sandrine.pavoine@mnhn.fr


Ricotta, C. and Pavoine, S. (2015) Measuring similarity among plots including similarity among species: an extension of traditional approaches. Journal of Vegetation Science, 26, 1061–1067.

See Also

discomQE, evodiss


dissABC(RP15JVS$ab, RP15JVS$D1, method="J", option=1)
J <- as.matrix(dissABC(RP15JVS$ab, RP15JVS$D1, method="J", option=1))[, 1]
SS <- as.matrix(dissABC(RP15JVS$ab, RP15JVS$D1, method="SS", option=1))[, 1]
S <- as.matrix(dissABC(RP15JVS$ab, RP15JVS$D1, method="S", option=1))[, 1]
O <- as.matrix(dissABC(RP15JVS$ab, RP15JVS$D1, method="O", option=1))[, 1]
K <- as.matrix(dissABC(RP15JVS$ab, RP15JVS$D1, method="K", option=1))[, 1]
plot(1:9, J, 
xlab="Number of the plots which plot 1 is compared to",
 ylab="Similarity", type="b", ylim=c(0,1), pch=18)
lines(1:9, SS, type="b", pch=15)
lines(1:9, S, type="b", pch=17)
lines(1:9, O, type="b", pch=12)
lines(1:9, K, type="b", pch=1)
pch=c(18,15,17,12,1), lty=1)

[Package adiv version 2.1.1 Index]