optimEH {adiv}R Documentation

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)

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.

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.

Author(s)

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

## Not run: 
if(require(ape) && require(adephylo)){

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

}

## End(Not run)

[Package adiv version 2.2.1 Index]