R: Contribution Diversity Approach

contribdiv {vegan} | R Documentation

## Contribution Diversity Approach

### Description

The contribution diversity approach is based in the differentiation of within-unit and among-unit diversity by using additive diversity partitioning and unit distinctiveness.

### Usage

    contribdiv(comm, index = c("richness", "simpson"),
         relative = FALSE, scaled = TRUE, drop.zero = FALSE)
    ## S3 method for class 'contribdiv'
    plot(x, sub, xlab, ylab, ylim, col, ...)

### Arguments

`comm` | The community data matrix with samples as rows and species as column.
`index` | Character, the diversity index to be calculated.
`relative` | Logical, if `TRUE` then contribution diversity values are expressed as their signed deviation from their mean. See details.
`scaled` | Logical, if `TRUE` then relative contribution diversity values are scaled by the sum of gamma values (if `index = "richness"`) or by sum of gamma values times the number of rows in `comm` (if `index = "simpson"`). See details.
`drop.zero` | Logical, should empty rows dropped from the result? If empty rows are not dropped, their corresponding results will be `NA`s.
`x` | An object of class `"contribdiv"`.
`sub, xlab, ylab, ylim, col` | Graphical arguments passed to plot.
`...` | Other arguments passed to plot.

### Details

This approach was proposed by Lu et al. (2007). Additive diversity partitioning (see `adipart` for more references) deals with the relation of mean alpha and the total (gamma) diversity. Although alpha diversity values often vary considerably. Thus, contributions of the sites to the total diversity are uneven. This site specific contribution is measured by contribution diversity components. A unit that has e.g. many unique species will contribute more to the higher level (gamma) diversity than another unit with the same number of species, but all of which common.

Distinctiveness of species j can be defined as the number of sites where it occurs (n_j), or the sum of its relative frequencies (p_j). Relative frequencies are computed sitewise and sum_j{p_ij}s at site i sum up to 1.

The contribution of site i to the total diversity is given by alpha_i = sum_j(1 / n_ij) when dealing with richness and alpha_i = sum(p_{ij} * (1 - p_{ij})) for the Simpson index.

The unit distinctiveness of site i is the average of the species distinctiveness, averaging only those species which occur at site i. For species richness: alpha_i = mean(n_i) (in the paper, the second equation contains a typo, n is without index). For the Simpson index: alpha_i = mean(n_i).

The Lu et al. (2007) gives an in-depth description of the different indices.

### Value

An object of class `"contribdiv"` in heriting from data frame.

Returned values are alpha, beta and gamma components for each sites (rows) of the community matrix. The `"diff.coef"` attribute gives the differentiation coefficient (see Examples).

### Author(s)

Péter Sólymos, solymos@ualberta.ca

### References

Lu, H. P., Wagner, H. H. and Chen, X. Y. 2007. A contribution diversity approach to evaluate species diversity. Basic and Applied Ecology, 8, 1–12.

### See Also

`adipart`, `diversity`

### Examples

    ## Artificial example given in
    ## Table 2 in Lu et al. 2007
    x <- matrix(c(
    1/3,1/3,1/3,0,0,0,
    0,0,1/3,1/3,1/3,0,
    0,0,0,1/3,1/3,1/3),
    3, 6, byrow = TRUE,
    dimnames = list(LETTERS[1:3],letters[1:6]))
    x
    ## Compare results with Table 2
    contribdiv(x, "richness")
    contribdiv(x, "simpson")
    ## Relative contribution (C values), compare with Table 2
    (cd1 <- contribdiv(x, "richness", relative = TRUE, scaled = FALSE))
    (cd2 <- contribdiv(x, "simpson", relative = TRUE, scaled = FALSE))
    ## Differentiation coefficients
    attr(cd1, "diff.coef") # D_ST
    attr(cd2, "diff.coef") # D_DT
    ## BCI data set
    data(BCI)
    opar <- par(mfrow=c(2,2))
    plot(contribdiv(BCI, "richness"), main = "Absolute")
    plot(contribdiv(BCI, "richness", relative = TRUE), main = "Relative")
    plot(contribdiv(BCI, "simpson"))
    plot(contribdiv(BCI, "simpson", relative = TRUE))
    par(opar)

[Package vegan version 2.4-3 Index]