diversity {vegan} | R Documentation

## Ecological Diversity Indices and Rarefaction Species Richness

### Description

Shannon, Simpson, and Fisher diversity indices and rarefied species richness for community ecologists.

### Usage

    diversity(x, index = "shannon", MARGIN = 1, base = exp(1))
    rarefy(x, sample, se = FALSE, MARGIN = 1)
    fisher.alpha(x, MARGIN = 1, se = FALSE, ...)
    specnumber(x, MARGIN = 1)

### Arguments

`x` | Community data matrix.
`index` | Diversity index, one of `shannon`, `simpson` or `invsimpson`.
`MARGIN` | Margin for which the index is computed.
`base` | The logarithm `base` used in `shannon`.
`sample` | Subsample size for rarefying community.
`se` | Estimate standard errors.
`...` | Parameters passed to `nlm`

### Details

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.

Function `rarefy` gives the expected species richness in random subsamples of size `sample` from the community. The size of `sample` should be smaller than total community size, but the function will silently work for larger `sample` as well and return non-rarefied species richness (and standard error = 0). Rarefaction can be performed only with genuine counts of individuals. The function `rarefy` is based on Hurlbert's (1971) formulation, and the standard errors on Heck et al. (1975).

Function `fisher.alpha` estimates the α parameter of Fisher's logarithmic series (see `fisherfit`). The estimation is possible only for genuine counts of individuals. The function can optionally return standard errors of α. These should be regarded only as rough indicators of the accuracy: the confidence limits of α are strongly non-symmetric and standard errors cannot be used in Normal inference.

Function `specnumber` finds the number of species. With `MARGIN = 2`, it finds frequencies of species. The function is extremely simple, and shortcuts are easy in plain R.

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, 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 α is very similar to inverse Simpson.

### Value

Vector of diversity indices or rarefied species richness values. With option `se = TRUE`, function `rarefy` returns a 2-row matrix with rarefied richness (`S`) and its standard error (`se`). With option `se = TRUE`, function `fisher.alpha` returns a data frame with items for α (`alpha`), its approximate standard errors (`se`), residual degrees of freedom (`df.residual`), and the `code` returned by `nlm` on the success of estimation.

### Author(s)

Jari Oksanen and Bob O'Hara bob.ohara@helsinki.fi (`fisher.alpha`).

### References

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.

Heck, K.L., van Belle, G. & Simberloff, D. (1975). Explicit calculation of the rarefaction diversity measurement and the determination of sufficient sample size. Ecology 56, 1459–1461.

Hurlbert, S.H. (1971). The nonconcept of species diversity: a critique and alternative parameters. Ecology 52, 577–586.

### See Also

Function `renyi` for generalized Rényi diversity and Hill numbers.

### Examples

    data(BCI)
    H <- diversity(BCI)
    simp <- diversity(BCI, "simpson")
    invsimp <- diversity(BCI, "inv")
    r.2 <- rarefy(BCI, 2)
    alpha <- fisher.alpha(BCI)
    pairs(cbind(H, simp, invsimp, r.2, 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)

[Package vegan version 1.8-8 Index]