taxondive {vegan}R Documentation

Indices of Taxonomic Diversity and Distinctness


Function finds indices of taxonomic diversity and distinctness, which are averaged taxonomic distances among species or individuals in the community (Clarke & Warwick 1998, 2001)


taxondive(comm, dis, match.force = FALSE)
taxa2dist(x, varstep = FALSE, check = TRUE, labels)


comm Community data.
dis Taxonomic distances among taxa in comm. This should be a dist object or a symmetric square matrix.
match.force Force matching of column names in comm and labels in dis. If FALSE, matching only happens when dimensions differ, and in that case the species must be in identical order in both.
x Classification table with a row for each species or other basic taxon, and columns for identifiers of its classification at higher levels.
varstep Vary step lengths between successive levels relative to proportional loss of the number of distinct classes.
check If TRUE, remove all redundant levels which are different for all rows or constant for all rows and regard each row as a different basal taxon (species). If FALSE all levels are retained and basal taxa (species) also must be coded as variables (columns). You will get a warning if species are not coded, but you can ignore this if that was your intention.
labels The labels attribute of taxonomic distances. Row names will be used if this is not given. Species will be matched by these labels in comm and dis in taxondive if these have different dimensions.


Clarke & Warwick (1998, 2001) suggested several alternative indices of taxonomic diversity or distinctness. Two basic indices are called taxonomic diversity (Delta) and distinctness (Delta^*):
Delta = (sum sum_{i<j} omega_{ij} x_i x_j)/(n (n-1) / 2)
Delta^* = (sum sum_{i<j} omega_{ij} x_i x_j)/(sum sum_{i<j} x_i x_j)

The equations give the index value for a single site, and summation goes over species i and j. Here omega are taxonomic distances among taxa, and x are species abundances, and n is the total abundance for a site. With presence/absence data both indices reduce to the same index Delta^+, and for this index Clarke & Warwick (1998) also have an estimate of its standard deviation. Clarke & Warwick (2001) presented two new indices: sDelta^+ is the product of species richness and Delta^+, and index of variation in taxonomic distinctness (Lambda^+) defined as
Lambda^+ = (sum sum_{i<j} omega_{ij}^2)/(n (n-1) / 2) - (Delta^+)^2

The dis argument must be species dissimilarities. These must be similar to dissimilarities produced by dist. It is customary to have integer steps of taxonomic hierarchies, but other kind of dissimilarities can be used, such as those from phylogenetic trees or genetic differences. Further, the dis need not be taxonomic, but other species classifications can be used.

Function taxa2dist can produce a suitable dist object from a classification table. Each species (or basic taxon) corresponds to a row of the classification table, and columns give the classification at different levels. With varstep = FALSE the successive levels will be separated by equal steps, and with varstep = TRUE the step length is relative to the proportional decrease in the number of classes (Clarke & Warwick 1999). With check = TRUE, the function removes classes which are distinct for all species or which combine all species into one class, and assumes that each row presents a distinct basic taxon. The function scales the distances so that longest path length between taxa is 100 (not necessarily when check = FALSE).

Function plot.taxondive plots Delta^+ against Number of species, together with expectation and its approximate 2*sd limits. Function summary.taxondive finds the z values and their significances from Normal distribution for Delta^+.


Function returns an object of class taxondive with following items:

Species Number of species for each site.
D, Dstar, Dplus, SDplus, Lambda Delta, Delta^*, Delta^+, sDelta^+ and Lambda^+ for each site.
sd.Dplus Standard deviation of Delta^+.
ED, EDstar, EDplus Expected values of corresponding statistics.

Function taxa2dist returns an object of class "dist", with an attribute "steps" for the step lengths between successive levels.


The function is still preliminary and may change. The scaling of taxonomic dissimilarities influences the results. If you multiply taxonomic distances (or step lengths) by a constant, the values of all Deltas will be multiplied with the same constant, and the value of Lambda^+ by the square of the constant.


Jari Oksanen


Clarke, K.R & Warwick, R.M. (1998) A taxonomic distinctness index and its statistical properties. Journal of Applied Ecology 35, 523–531.

Clarke, K.R. & Warwick, R.M. (1999) The taxonomic distinctness measure of biodiversity: weighting of step lengths between hierarchical levels. Marine Ecology Progress Series 184: 21–29.

Clarke, K.R. & Warwick, R.M. (2001) A further biodiversity index applicable to species lists: variation in taxonomic distinctness. Marine Ecology Progress Series 216, 265–278.

See Also



## Preliminary: needs better data and some support functions
# Taxonomic distances from a classification table with variable step lengths.
taxdis <- taxa2dist(dune.taxon, varstep=TRUE)
plot(hclust(taxdis), hang = -1)
# Indices
mod <- taxondive(dune, taxdis)

[Package vegan version 1.16-32 Index]