```
rarefy(x, sample, se = FALSE, MARGIN = 1)
rrarefy(x, sample)
drarefy(x, sample)
rarecurve(x, step = 1, sample, xlab = "Sample Size", ylab = "Species", label = TRUE, col, lty, ...)
rareslope(x, sample)
```

x

Community data, a matrix-like object or a vector.

MARGIN

Margin for which the index is computed.

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

`x`

(logical).col, lty

plotting colour and line type, see

`par`

. Can be a vector of length `nrow(x)`

, one per
sample, and will be extended to such a length internally.-
A vector of 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.
`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 work for larger `sample`

as well (with a warning)
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. If the
`sample`

size is equal to or smaller than the observed number
of individuals, the non-rarefied community will be returned. The
random rarefaction is made without replacement so that the variance
of rarefied communities is rather related to rarefaction proportion
than 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. If the `sample`

is equal to or smaller than the observed number of individuals, all
observed species will have sampling probability 1.

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.

Function `rareslope`

calculates the slope of `rarecurve`

(derivative of `rarefy`

) at given `sample`

size; the
`sample`

need not be an integer.

`specaccum`

for species accumulation curves
where sites are sampled instead of individuals. `specpool`

extrapolates richness to an unknown sample size.```
data(BCI)
S <- specnumber(BCI) # observed number of species
(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)
```

Run the code above in your browser using DataLab