Description Usage Arguments Details Value Author(s) References See Also Examples
Shannon, Simpson, and Fisher diversity indices and rarefied species richness for community ecologists.
1 2 3 4 5 6 7 8 |
x |
Community data, a matrix-like object or a vector. |
index |
Diversity index, one of |
MARGIN |
Margin for which the index is computed. |
base |
The logarithm |
sample |
Subsample size for rarefying community, either a single value or a vector. |
se |
Estimate standard errors. |
step |
Step size for sample sizes in rarefaction curves. |
xlab, ylab |
Axis labels in plots of rarefaction curves. |
label |
Label rarefaction curves by rownames of |
groups |
A grouping factor: if given, finds the total number of species in each group. |
... |
Parameters passed to |
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). If
sample
is a vector, rarefaction of all observations is
performed for each sample size separately. 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 rrarefy
generates one randomly rarefied community data
frame or vector of given sample
size. The sample
can be
a vector giving the sample sizes for each row, and its values must be
less or equal to observed number of individuals. The random
rarefaction is made without replacement so that the variance of
rarefied communities is rather related to rarefaction proportion than
to to the size of the sample
.
Function drarefy
returns probabilities that species occur in a
rarefied community of size sample
. The sample
can be a
vector giving the sample sizes for each row.
Function rarecurve
draws a rarefaction curve for each row of
the input data. The rarefaction curves are evaluated using the
interval of step
sample sizes, always including 1 and total
sample size. If sample
is specified, a vertical line is
drawn at sample
with horizontal lines for the rarefied
species richnesses.
fisher.alpha
estimates the α 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 α is very similar to inverse Simpson.
A vector of diversity indices or rarefied species richness values. With
a single sample
and se = TRUE
, function rarefy
returns a 2-row matrix
with rarefied richness (S
) and its standard error
(se
). If sample
is a vector in rarefy
, the
function returns a matrix with a column for each sample
size,
and if se = TRUE
, rarefied richness and its standard error are
on consecutive lines.
Function rarecurve
returns invisible
list of
rarefy
results corresponding each drawn curve.
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.
Jari Oksanen and Bob O'Hara (fisher.alpha
).
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.
Function renyi
for generalized Rényi
diversity and Hill numbers.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | data(BCI)
H <- diversity(BCI)
simp <- diversity(BCI, "simpson")
invsimp <- diversity(BCI, "inv")
## Unbiased Simpson of Hurlbert 1971 (eq. 5):
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:
data(dune)
data(dune.env)
alpha <- with(dune.env, tapply(specnumber(dune), Management, mean))
gamma <- with(dune.env, specnumber(dune, Management))
gamma/alpha - 1
## Rarefaction
(raremax <- min(rowSums(BCI)))
Srare <- rarefy(BCI, raremax)
plot(S, Srare, xlab = "Observed No. of Species", ylab = "Rarefied No. of Species")
abline(0, 1)
rarecurve(BCI, step = 20, sample = raremax, col = "blue", cex = 0.6)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.