vegan (version 2.4-2)

diversity: Ecological Diversity Indices


Shannon, Simpson, and Fisher diversity indices and species richness.


diversity(x, index = "shannon", MARGIN = 1, base = exp(1)) fisher.alpha(x, MARGIN = 1, ...) specnumber(x, groups, MARGIN = 1)


Community data, a matrix-like object or a vector.
Diversity index, one of "shannon", "simpson" or "invsimpson".
Margin for which the index is computed.
The logarithm base used in shannon.
A grouping factor: if given, finds the total number of species in each group.
Parameters passed to the function.


A vector of diversity indices or numbers of species.


Shannon or Shannon--Weaver (or Shannon--Wiener) index is defined as $H = -sum p_i log(b) p_i$, where $p_i$ is the proportional abundance of species $i$ and $b$ is the base of the logarithm. It is most popular to use natural logarithms, but some argue for base $b = 2$ (which makes sense, but no real difference).

Both variants of Simpson's index are based on $D = sum p_i^2$. Choice simpson returns $1-D$ and invsimpson returns $1/D$. fisher.alpha estimates the $\alpha$ parameter of Fisher's logarithmic series (see fisherfit). The estimation is possible only for genuine counts of individuals. Function specnumber finds the number of species. With MARGIN = 2, it finds frequencies of species. If groups is given, finds the total number of species in each group (see example on finding one kind of beta diversity with this option). Better stories can be told about Simpson's index than about Shannon's index, and still grander narratives about rarefaction (Hurlbert 1971). However, these indices are all very closely related (Hill 1973), and there is no reason to despise one more than others (but if you are a graduate student, don't drag me in, but obey your Professor's orders). In particular, the exponent of the Shannon index is linearly related to inverse Simpson (Hill 1973) although the former may be more sensitive to rare species. Moreover, inverse Simpson is asymptotically equal to rarefied species richness in sample of two individuals, and Fisher's $\alpha$ is very similar to inverse Simpson.


Fisher, R.A., Corbet, A.S. & Williams, C.B. (1943). The relation between the number of species and the number of individuals in a random sample of animal population. Journal of Animal Ecology 12, 42--58. Hurlbert, S.H. (1971). The nonconcept of species diversity: a critique and alternative parameters. Ecology 52, 577--586.

See Also

These functions calculate only some basic indices, but many others can be derived with them (see Examples). Facilities related to diversity are discussed in a vegan vignette that can be read with browseVignettes("vegan"). Functions renyi and tsallis estimate a series of generalized diversity indices. Function rarefy finds estimated number of species for given sample size. Beta diversity can be estimated with betadiver. Diversities can be partitioned with adipart and multipart.


Run this code
H <- diversity(BCI)
simp <- diversity(BCI, "simpson")
invsimp <- diversity(BCI, "inv")
## Unbiased Simpson (Hurlbert 1971, eq. 5) with rarefy:
unbias.simp <- rarefy(BCI, 2) - 1
## Fisher alpha
alpha <- fisher.alpha(BCI)
## Plot all
pairs(cbind(H, simp, invsimp, unbias.simp, alpha), pch="+", col="blue")
## Species richness (S) and Pielou's evenness (J):
S <- specnumber(BCI) ## rowSums(BCI > 0) does the same...
J <- H/log(S)
## beta diversity defined as gamma/alpha - 1:
alpha <- with(dune.env, tapply(specnumber(dune), Management, mean))
gamma <- with(dune.env, specnumber(dune, Management))
gamma/alpha - 1

Run the code above in your browser using DataCamp Workspace