Learn R Programming

BAT (version 2.11.0)

dispersion: Phylogenetic/functional dispersion of species or individuals.

Description

Average dissimilarity between any two species or individuals randomly chosen in a community.

Usage

dispersion(
  comm,
  tree,
  distance,
  func = "originality",
  abund = TRUE,
  relative = TRUE
)

Value

A vector of values per site (or a single value if no comm is given).

Arguments

comm

A sites x species matrix, with either abundance or incidence data. If missing, the dispersion using the full tree or distance matrix is calculated.

tree

A phylo or hclust object (used only for PD or FD) or alternatively a species x traits matrix or data.frame to build a functional tree.

distance

A dist object representing the phylogenetic or functional distance between species. Only used if no tree is given.

func

Calculate dispersion using originality (default; = MPD), uniqueness (= MNTD) or contribution.

abund

A boolean (T/F) indicating whether dispersion should be calculated using individuals (T) or species (F).

relative

A boolean (T/F) indicating whether dispersion should be relative to the maximum distance between any two species in the tree or distance matrix.

Details

Many different metrics have been proposed to quantify dispersion. When func = "originality" this is equivalent to Mean Phylogenetic Diversity (MPD) When func = "uniqueness" dispersion is equivalent to Mean Nearest Taxon Distance (MNTD). If abundance data is used and a tree is given, dispersion is the quadratic entropy of Rao (1982). If abundance data is not used but a tree is given, dispersion is the phylogenetic dispersion measure of Webb et al. (2002).

References

Rao, C.R. (1982) Diversity and dissimilarity coefficients: a unified approach. Theoretical Population Biology, 21: 24-43.

Webb, C.O., Ackerly, D.D., McPeek, M.A. & Donoghue, M.J. (2002) Phylogenies and community ecology. Annual Review of Ecology and Systematics, 33: 475-505.

Examples

Run this code
comm <- matrix(c(1,2,0,0,0,1,1,0,0,0,0,2,2,0,0,0,0,1,1,1), nrow = 4, byrow = TRUE)
distance <- dist(c(1:5), method="euclidean")
tree <- tree.build(distance)
dispersion(tree = tree)
dispersion(distance = distance)
dispersion(comm, tree)
dispersion(comm, tree, abund = FALSE)
dispersion(comm, tree, abund = FALSE, relative = FALSE)

Run the code above in your browser using DataLab