kemptonQ: Calculates Kempton's Biodiversity Index

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/kemptonQ.R


This function calculates Kempton's Biodiversity index (Q) for j areas and i years.


kemptonQ(X, TL.table, percentiles = c(0.25, 0.75), minTL = 0, groups,
  species.table = NULL, metric = "ABUNDANCE", years)



A dataframe of fishery independent data derived from research vessel survey data or model output, with columns YEAR, ID, SPECIES, and ABUNDANCE. YEAR indicates the year the observation was recorded, ID is an area code indicating where the observation was recorded, SPECIES is a numeric code indicating the species sampled, and ABUNDANCE is the corresponding abundance (stratified and corrected for catchability as required).


A dataframe with columns SPECIES and the corresponding TL (trophic level). Entries in the SPECIES column should be the unique values of species codes in X (or a subset thereof). Other columns in TL.table are ignored.


The percentiles used to determine R1 and R2. Default is percentiles = c(0.25, 0.75).


Minimum trophic level for species included in the calculation. Default is minTL = 0.


A vector indicating the species group(s) for which to calculate the indicator. If groups = "ALL", all species will be included; otherwise, each entry must be a character string matching the name of a column in species.table.


A table where the column names match the entries in groups. Column entries are species codes indicating the species from X included in each group. species.table may also include columns for other species groups; these will be ignored. If groups = "ALL", this table is not required. Default is species.table = NULL.


A character string indicating which column in X to use to calculate the indicator. Default is metric = "ABUNDANCE".


A vector of years for which to calculate indicator.


Kempton's Biodiversity Index (Q) is a relative index of diversity calculated from the Kempton's Q75 index developed for expressing species diversity.

Q = S*(p_2 - p_1)*log(R_2/R_1)

S is the total number of species or functional groups, p_1 and p_2 are the lower and upper percentiles of interest and R_1 and R_2 are the corresponding lower and upper quartiles of the species abundance distribution. p_1 and p_2 are defaulted to 0.25 and 0.75, respectively (Kempton and Taylor, 1976).


Returns a dataframe with columns ID and YEAR, and a column KemptonQ_minTL_group for each entry in groups.

If there is no data for spatial scale j in year i, indicator values is assigned NA.


Danielle Dempsey, Adam Cook, Catalina Gomez, Alida Bundy


Ainsworth, C, Pitcher, T. 2006. Modifying Kempton's species diversity index for use with ecosystem simulation models. Ecological Indicators. 6. 623-630. 10.1016/j.ecolind.2005.08.024.

Bundy A, Gomez C, Cook AM. 2017. Guidance framework for the selection and evaluation of ecological indicators. Can. Tech. Rep. Fish. Aquat. Sci. 3232: xii + 212 p.

Kempton R, Taylor L. 1976. Models and statistics for species diversity. Nature 262:818-820

See Also

Other biodiversity indicators: allBiodiversity, heips, hillN1, hillN2, margalef, pielouEvenness, shannon, speciesRichness


# Compile data

# Calculate indicator
kemptonQ(X, TL.table =, percentiles = c(.25, 0.75), minTL = 0,
   groups = "ALL", metric = "ABUNDANCE", years = c(2014:2019))

Example output

      ID YEAR KemptonQ_0_ALL
1  AREA1 2014       13.12902
2  AREA1 2015       15.15009
3  AREA1 2016       15.66883
4  AREA1 2017       15.71705
5  AREA1 2018       13.13195
6  AREA1 2019       16.62034
7  AREA2 2014       14.80901
8  AREA2 2015       13.31722
9  AREA2 2016       12.48471
10 AREA2 2017       10.57121
11 AREA2 2018       11.35864
12 AREA2 2019       13.33981

marindicators documentation built on Nov. 12, 2019, 5:07 p.m.