distRoot: Compute the distance of tips to the root

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/distances.R

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

1
distRoot(x, tips, 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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
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)
}

Example output

Loading required package: ade4
Registered S3 method overwritten by 'spdep':
  method   from
  plot.mst ape 
Loading required package: ape
Loading required package: phylobase

Attaching package:phylobaseThe following object is masked frompackage:ape:

    edges

adephylo documentation built on May 2, 2019, 4:54 p.m.