Learn R Programming

vegan (version 2.6-8)

indpower: Indicator Power of Species

Description

Indicator power calculation of Halme et al. (2009) or the congruence between indicator and target species.

Usage

indpower(x, type = 0)

Value

A matrix with indicator species as rows and target species as columns (this is indicated by the first letters of the row/column names).

Arguments

x

Community data frame or matrix.

type

The type of statistic to be returned. See Details for explanation.

Author

Peter Solymos

Details

Halme et al. (2009) described an index of indicator power defined as \(IP_I = \sqrt{a \times b}\), where \(a = S / O_I\) and \(b = 1 - (O_T - S) / (N - O_I)\). \(N\) is the number of sites, \(S\) is the number of shared occurrences of the indicator (\(I\)) and the target (\(T\)) species. \(O_I\) and \(O_T\) are number of occurrences of the indicator and target species. The type argument in the function call enables to choose which statistic to return. type = 0 returns \(IP_I\), type = 1 returns \(a\), type = 2 returns \(b\). Total indicator power (TIP) of an indicator species is the column mean (without its own value, see examples). Halme et al. (2009) explain how to calculate confidence intervals for these statistics, see Examples.

References

Halme, P., Mönkkönen, M., Kotiaho, J. S, Ylisirniö, A-L. 2009. Quantifying the indicator power of an indicator species. Conservation Biology 23: 1008--1016.

Examples

Run this code
data(dune)
## IP values
ip <- indpower(dune)
## and TIP values
diag(ip) <- NA
(TIP <- rowMeans(ip, na.rm=TRUE))

## p value calculation for a species
## from Halme et al. 2009
## i is ID for the species
i <- 1
fun <- function(x, i) indpower(x)[i,-i]
## 'c0' randomizes species occurrences
os <- oecosimu(dune, fun, "c0", i=i, nsimul=99)
## get z values from oecosimu output
z <- os$oecosimu$z
## p-value
(p <- sum(z) / sqrt(length(z)))
## 'heterogeneity' measure
(chi2 <- sum((z - mean(z))^2))
pchisq(chi2, df=length(z)-1)
## Halme et al.'s suggested output
out <- c(TIP=TIP[i], 
    significance=p,
    heterogeneity=chi2,
    minIP=min(fun(dune, i=i)),
    varIP=sd(fun(dune, i=i)^2))
out

Run the code above in your browser using DataLab