contribdiv {vegan}R Documentation

Contribution Diversity Approach


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


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


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. Logical, should empty rows dropped from the result? If empty rows are not dropped, their corresponding results will be NAs.
x An object of class "contribdiv".
sub, xlab, ylab, ylim, col Graphical arguments passed to plot.
... Other arguments passed to plot.


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.


An object of class "contribdiv".


P'eter S'olymos,


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


## Artificial example given in
## Table 2 in Lu et al. 2007
x <- matrix(c(
3, 6, byrow = TRUE,
dimnames = list(LETTERS[1:3],letters[1:6]))
## Compare results with Table 2
contribdiv(x, "richness")
contribdiv(x, "simpson")
contribdiv(x, "richness", relative = TRUE, scaled = FALSE)
contribdiv(x, "simpson", relative = TRUE, scaled = FALSE)
## BCI data set
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))

[Package vegan version 1.16-32 Index]