## Functional Dissimilarity Measures for Presence-Absence Data

### Description

Functions `PADDis`, `DJac` and `Jac` calculate the dissimilarity coefficients introduced in Ricotta et al. (2016). These dissimilarity coefficients use traditional mismatching components a, b and c of the 2 x 2 contingency table expressed as to include functional or phylogenetic differences among species and noted A, B, C. Components B and C represent the functional or phylogenetic uniqueness of community X compared with community Y and vice versa. Component A represents the functional or phylogenetic similarities between communities X and Y.

### Usage

```PADDis(comm, dis, method = NULL, diag = FALSE, upper = FALSE)

DJac(comm, dis, diag = FALSE, upper = FALSE)

Jac(comm, diag = FALSE, upper = FALSE)
```

### Arguments

 `comm` a matrix or a data frame with communities (or plots, assemblages, etc.) as rows and species as columns containing the incidence (0/1) of all species in the communities. `dis` an object of class `dist` containing the (functional) dissimilarities among species. `method` an integer between 0 and 6. If `NULL` the choice is made with a console message. See details. `diag` a logical value indicating whether the diagonal of the distance matrix should be printed by function `print.dist`. `upper` a logical value indicating whether the upper triangle of the distance matrix should be printed by function `print.dist`.

### Details

In `PADDIS`, dissimilarities among communities are calculated with the following formulas:

Generalized Jaccard dissimilarity, with method = 1

(B+C)/(a+b+c)

Generalized Sorensen dissimilarity, with method = 2

(B+C)/(2a+b+c)

Generalized Sokal and Sneath dissimilarity, with method = 3

[2(B+C)]/[a+2(b+c)]

Generalized Ochiai dissimilarity, with method = 4

[sqrt(A+B)sqrt(A+C)-A]/[sqrt(a+b)sqrt(a+c)]

Generalized Simpson dissimilarity, with method = 5

[min(B+C)][a+min(b+c)]

Generalized Kulczynski dissimilarity, with method = 6

0.5*(B/(a+b)+C/(a+c))

`DJac` and `Jac` use the additive decomposition of the Jaccard index into turnover and richness difference. `DJac` takes into account the (functional or phylogenetic) dissimilarities among species while `Jac` does not.

### Value

In function `PADDis`, if `method=0`, then the function `PADDis` returns 6 matrices corresponding to the a, b, c, A, B, and C values per pair of communities. Otherwise, it returns an object of class `dist` corresponding to the dissimilarities among communities.

Functions `DJac` and `Jac` return a list of three objects of class `dist`:

 `J` for the full dissimilarities between communities; `JRepl` for the turnover component of the dissimilarities; `JRich` for the component of difference in richness.

### Author(s)

Sandrine Pavoine sandrine.pavoine@mnhn.fr

### References

Ricotta, C., Podani, J., Pavoine, S. (2016) A family of functional dissimilarity measures for presence and absence data. Ecology and Evolution, 6, 5383–5389

### Examples

```data(RPP16EE)
Com <- RPP16EE\$Com
Dis <- as.dist(RPP16EE\$Dis)
J <- Jac(Com)
DJ <- DJac(Com, Dis)

plot(c(as.matrix(DJ\$J)[1,]), ylab="Dissimilarity",
xlab="Plot-to-plot comparison", pch=15, type="b",
ylim=c(0,1), main="Jaccard")

lines(c(as.matrix(J\$J)[1,]), type="b", pch=18)

legend("bottomright", legend=c("P/A scores", "functional data"),
pch=c(15,18), lty=1)

plot(c(as.matrix(DJ\$JRepl)[1,]), ylab="Dissimilarity",
xlab="Plot-to-plot comparison", pch=15, type="b",
ylim=c(0,1), main="Species replacement")

lines(c(as.matrix(J\$JRepl)[1,]), type="b", pch=18)

legend("bottomright", legend=c("P/A scores", "functional data"),
pch=c(15,18), lty=1)

#Use the following instruction to obtain all components: