distRoot: Compute the distance of tips to the root

View source: R/distances.R

distRootR Documentation

Compute the distance of tips to the root

Description

The function distRoot computes the distance of a set of tips to the root. Several distances can be used, defaulting to the sum of branch lengths.

Usage

distRoot(
  x,
  tips = "all",
  method = c("patristic", "nNodes", "Abouheif", "sumDD")
)

Arguments

x

a tree of class phylo, phylo4 or phylo4d.

tips

A vector of integers identifying tips by their numbers, or a vector of characters identifying tips by their names.

method

a character string (full or abbreviated without ambiguity) specifying the method used to compute distances ; possible values are:
- patristic: patristic distance, i.e. sum of branch lengths
- nNodes: number of nodes on the path between the nodes
- Abouheif: Abouheif's distance (see details)
- sumDD: sum of direct descendants of all nodes on the path (see details)

Details

Abouheif distance refers to the phylogenetic distance underlying the test of Abouheif (see references). Let P be the set of all the nodes in the path going from node1 to node2. Let DDP be the number of direct descendants from each node in P. Then, the so-called 'Abouheif' distance is the product of all terms in DDP.

sumDD refers to a phylogenetic distance quite similar to that of Abouheif. We consider the same sets P and DDP. But instead of computing the product of all terms in DDP, this distance computes the sum of all terms in DDP.

Value

A numeric vector containing one distance value for each tip.

Author(s)

Thibaut Jombart tjombart@imperial.ac.uk

References

Pavoine, S.; Ollier, S.; Pontier, D. & Chessel, D. (2008) Testing for phylogenetic signal in life history variable: Abouheif's test revisited. Theoretical Population Biology: 73, 79-91.

See Also

distTips which computes the same phylogenetic distances, but between tips.

Examples


if(require(ape) & require(phylobase)){
## make a tree
x <- as(rtree(50),"phylo4")
## compute 4 different distances
met <- c("patristic","nNodes","Abouheif","sumDD")
D <- lapply(met, function(e) distRoot(x, method=e) )
names(D) <- met
D <- as.data.frame(D)

## plot these distances along with the tree
temp <- phylo4d(x, D)
table.phylo4d(temp, show.node=FALSE, cex.lab=.6)
}


adephylo documentation built on Oct. 6, 2023, 5:07 p.m.