Learn R Programming

entropart (version 1.4-8)

Richness: Number of species of a community

Description

Calculates the number of species from probability vector. The name is that of the estimator (the bias correction) used.

Usage

Richness(NorP, Correction = "Chao1", Alpha = 0.05, JackOver = FALSE, 
  CheckArguments = TRUE, Ps = NULL, Ns = NULL)
bcRichness(Ns, Correction = "Chao1", Alpha = 0.05, JackOver = FALSE, 
              CheckArguments = TRUE)
# S3 method for ProbaVector
Richness(NorP, Correction = "Chao1", Alpha = 0.05, JackOver = FALSE, 
  CheckArguments = TRUE, Ps = NULL, Ns = NULL)
# S3 method for AbdVector
Richness(NorP, Correction = "Chao1", Alpha = 0.05, JackOver = FALSE, 
  CheckArguments = TRUE, Ps = NULL, Ns = NULL)
# S3 method for integer
Richness(NorP, Correction = "Chao1", Alpha = 0.05, JackOver = FALSE, 
  CheckArguments = TRUE, Ps = NULL, Ns = NULL)
# S3 method for numeric
Richness(NorP, Correction = "Chao1", Alpha = 0.05, JackOver = FALSE, 
  CheckArguments = TRUE, Ps = NULL, Ns = NULL)

Arguments

Ps

A probability vector, summing to 1.

Ns

A numeric vector containing species abundances.

NorP

A numeric vector, an integer vector, an abundance vector (AbdVector) or a probability vector (ProbaVector). Contains either abundances or probabilities.

Correction

A string containing one of the possible corrections: "None" (no correction), "Jackknife", "iChao1", or "Chao1", the default value.

Alpha

The risk level, 5% by default, used to optimize the jackknife order.

JackOver

If TRUE, retain the jackknife order immediately superior to the optimal one, usually resulting in the overestimation of the number of species. Default is FALSE.

CheckArguments

Logical; if TRUE, the function arguments are verified. Should be set to FALSE to save time when the arguments have been checked elsewhere.

Value

A named number equal to the estimated number of species.

Details

Bias correction requires the number of individuals. Use bcRichness and choose the Correction.

Chao correction techniques are from Chao (1984) and Chiu et al. (2015). The Jackknife estimator is calculating by a straight adaptation of the code by Ji-Ping Wang (jackknife in package SPECIES). The optimal order is selected according to Burnham and Overton (1978; 1979). The argument JackOver allows selecting one order over the optimal one. Many other estimators are available elsewhere, the ones implemented here are necessary for other entropy estimations.

The functions are designed to be used as simply as possible. Richness is a generic method. If its first argument is an abundance vector, an integer vector or a numeric vector which does not sum to 1, the bias corrected function bcRichness is called. Explicit calls to bcRichness (with bias correction) or to Richness.ProbaVector (without correction) are possible to avoid ambiguity. The .integer and .numeric methods accept Ps or Ns arguments instead of NorP for backward compatibility.

References

Burnham, K. P., and Overton,W. S. (1978), Estimation of the Size of a Closed Population When Capture Probabilities Vary Among Animals. Biometrika, 65:625-633.

Burnham, K. P., and Overton,W. S. (1979), Robust Estimation of Population Size When Capture Probabilities Vary Among Animals. Ecology 60:927-936.

Chao, A. (1984) Nonparametric estimation of the number of classes in a population. Scandinavian Journal of Statistics 11:265-270.

Chiu, C.-H., Wang, Y.-T., Walther, B. A., Chao, A. (2014) An Improved Nonparametric Lower Bound of Species Richness via a Modified Good-Turing Frequency Formula. Biometrics 70(3):671-682.

Examples

Run this code
# NOT RUN {
  # Load Paracou data (number of trees per species in two 1-ha plot of a tropical forest)
  data(Paracou618)
  # Ns is the total number of trees per species
  Ns <- as.AbdVector(Paracou618.MC$Ns)
  # Species probabilities
  Ps <- as.ProbaVector(Paracou618.MC$Ns)
  # Whittaker plot
  plot(Ns)

  # Number of observed species
  Richness(Ps)
  # Estimate the actual number of species
  bcRichness(Ns, Correction = "Chao1")
  bcRichness(Ns, Correction = "iChao1")
  bcRichness(Ns, Correction = "Jackknife")
  bcRichness(Ns, Correction = "Jackknife", JackOver=TRUE)
# }

Run the code above in your browser using DataLab