Learn R Programming

adiv (version 2.2.1)

optimEH: Nee and May's Optimizing Process

Description

The function optimEH performs Nee and May's optimizing scheme. When branch lengths in an ultrametric phylogenetic tree are expressed as divergence times, the total sum of branch lengths in that tree expresses the amount of evolutionary history. Nee and May's algorithm optimizes the amount of evolutionary history preserved if only k species out of n were to be saved. The k-1 closest-to-root nodes are selected, which defines k clades; one species from each clade is picked. At this last step, we decide to select the most original species of each of the k clades.

Usage

optimEH(phyl, nbofsp, tol = 1e-08, give.list = TRUE)

Value

If give.list=FALSE, function optimEH returns a numeric.

If give.list=TRUE, function optimEH returns a list containing:

value

a real value providing the amount of evolutionary history preserved;

selected.sp

a data frame containing the list of the k species which optimize the amount of evolutionary history preserved and are the most original species in their clades.

Arguments

phyl

an object inheriting the class phylo (see package ape), phylo4 (see package phylobase) or hclust.

nbofsp

an integer indicating the number of species saved (k).

tol

a tolerance threshold for null values (a value less than tol in absolute terms is considered as zero).

give.list

a logical indicating whether a list of optimizing species should be provided. If give.list = TRUE, optimEH provides the list of the k species that optimize the amount of evolutionary history preserved and are the most original species in their clades. If give.list = FALSE, optimEH returns directly the real value giving the amount of evolutionary history preserved.

Author

Sandrine Pavoine sandrine.pavoine@mnhn.fr with contributions of Stephane Dray

References

Pavoine, S., Ollier, S. and Dufour, A.-B. (2005) Is the originality of a species measurable? Ecology Letters, 8, 579--586.

See Also

randEH

Examples

Run this code
if (FALSE) {
if(require(ape) && require(adephylo)){

data(carni70, package="adephylo")
tre <- read.tree(text=carni70$tre)
adiv:::EH(tre)
adiv:::optimEH(tre, 10)

}
}

Run the code above in your browser using DataLab