specaccum {vegan}R Documentation

Species Accumulation Curves


Function specaccum finds species accumulation curves or the number of species for a certain number of sampled sites or individuals.


specaccum(comm, method = "exact", permutations = 100,
          conditioned =TRUE, gamma = "jack1",  ...)
## S3 method for class 'specaccum':
plot(x, add = FALSE, ci = 2, ci.type = c("bar", "line", "polygon"), 
    col = par("fg"), ci.col = col, ci.lty = 1, xlab = "Sites", 
    ylab = x$method, ylim, ...)
## S3 method for class 'specaccum':
boxplot(x, add = FALSE, ...)


comm Community data set.
method Species accumulation method (partial match). Method "collector" adds sites in the order they happen to be in the data, "random" adds sites in random order, "exact" finds the expected (mean) species richness, "coleman" finds the expected richness following Coleman et al. 1982, and "rarefaction" finds the mean when accumulating individuals instead of sites.
permutations Number of permutations with method = "random".
conditioned Estimation of standard deviation is conditional on the empirical dataset for the exact SAC
gamma Method for estimating the total extrapolated number of species in the survey area by function specpool
x A specaccum result object
add Add to an existing graph.
ci Multiplier used to get confidence intervals from standard deviation (standard error of the estimate). Value ci = 0 suppresses drawing confidence intervals.
ci.type Type of confidence intervals in the graph: "bar" draws vertical bars, "line" draws lines, and "polygon" draws a shaded area.
col Colour for drawing lines.
ci.col Colour for drawing lines or filling the "polygon".
ci.lty Line type for confidence intervals or border of the "polygon".
xlab,ylab Labels for x and y axis.
ylim the y limits of the plot.
... Other parameters to functions.


Species accumulation curves (SAC) are used to compare diversity properties of community data sets using different accumulator functions. The classic method is "random" which finds the mean SAC and its standard deviation from random permutations of the data, or subsampling without replacement (Gotelli & Colwell 2001). The "exact" method finds the expected SAC using the method that was independently developed by Ugland et al. (2003), Colwell et al. (2004) and Kindt et al. (2006). The unconditional standard deviation for the exact SAC represents a moment-based estimation that is not conditioned on the empirical data set (sd for all samples > 0), unlike the conditional standard deviation that was developed by Jari Oksanen (not published, sd=0 for all samples). The unconditional standard deviation is based on an estimation of the total extrapolated number of species in the survey area (a.k.a. gamma diversity), as estimated by function specpool. Method "coleman" finds the expected SAC and its standard deviation following Coleman et al. (1982). All these methods are based on sampling sites without replacement. In contrast, the method = "rarefaction" finds the expected species richness and its standard deviation by sampling individuals instead of sites. It achieves this by applying function rarefy with number of individuals corresponding to average number of individuals per site.

The function has a plot method. In addition, method = "random" has summary and boxplot methods.


The function returns an object of class "specaccum" with items:

call Function call.
method Accumulator method.
sites Number of sites. For method = "rarefaction" this is the number of sites corresponding to a certain number of individuals and generally not an integer, and the average number of individuals is also returned in item individuals.
richness The number of species corresponding to number of sites. With method = "collector" this is the observed richness, for other methods the average or expected richness.
sd The standard deviation of SAC (or its standard error). This is NULL in method = "collector", and it is estimated from permutations in method = "random", and from analytic equations in other methods.
perm Permutation results with method = "random" and NULL in other cases. Each column in perm holds one permutation.


The SAC with method = "exact" was developed by Roeland Kindt, and its standard deviation by Jari Oksanen (both are unpublished). The method = "coleman" underestimates the SAC because it does not handle properly sampling without replacement. Further, its standard deviation does not take into account species correlations, and is generally too low.


Roeland Kindt r.kindt@cgiar.org and Jari Oksanen.


Coleman, B.D, Mares, M.A., Willis, M.R. & Hsieh, Y. (1982). Randomness, area and species richness. Ecology 63: 1121–1133.

Colwell, R.K., Mao, C.X. & Chang, J. (2004). Interpolating, extrapolating, and comparing incidence-based species accumulation curves. Ecology 85: 2717–2727.

Gotellli, N.J. & Colwell, R.K. (2001). Quantifying biodiversity: procedures and pitfalls in measurement and comparison of species richness. Ecol. Lett. 4, 379–391.

Kindt, R. (2003). Exact species richness for sample-based accumulation curves. Manuscript.

Kindt R., Van Damme, P. & Simons, A.J. (2006) Patterns of species richness at varying scales in western Kenya: planning for agroecosystem diversification. Biodiversity and Conservation, online first: DOI 10.1007/s10531-005-0311-9

Ugland, K.I., Gray, J.S. & Ellingsen, K.E. (2003). The species-accumulation curve and estimation of species richness. Journal of Animal Ecology 72: 888–897.

See Also

rarefy and rrarefy are related individual based models. Other accumulation models are poolaccum for extrapoltated richness, and renyiaccum and tsallisaccum for diversity indices. Underlying graphical functions are boxplot, matlines, segments and polygon.


sp1 <- specaccum(BCI)
sp2 <- specaccum(BCI, "random")
plot(sp1, ci.type="poly", col="blue", lwd=2, ci.lty=0, ci.col="lightblue")
boxplot(sp2, col="yellow", add=TRUE, pch="+")

[Package vegan version 1.16-32 Index]