distTips | R Documentation |

The function `distTips`

computes a given distance between a set of tips
of a phylogeny. A vector of tips is supplied: distances between all possible
pairs of these tips are computed. The distances are computed from the
shortest path between the tips. Several distances can be used, defaulting to
the sum of branch lengths (see argument `method`

).

distTips( x, tips = "all", method = c("patristic", "nNodes", "Abouheif", "sumDD"), useC = TRUE )

`x` |
a tree of class |

`tips` |
A vector of integers identifying tips by their numbers, or a vector of characters identifying tips by their names. Distances will be computed between all possible pairs of tips. |

`method` |
a character string (full or abbreviated without ambiguity)
specifying the method used to compute distances ; possible values are: |

`useC` |
a logical indicating whether computations should be performed using compiled C code (TRUE, default), or using a pure R version (FALSE). C version is several orders of magnitude faster, and R version is kept for backward compatibility. |

An option (enabled by default) allows computations to be run using compiled
C code, which is much faster than pure R code. In this case, a matrix of all
pairwise distances is returned (i.e., `tips`

argument is ignored).

`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.

An object of class `dist`

, containing phylogenetic distances.

Thibaut Jombart tjombart@imperial.ac.uk

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.

`distTips`

which computes several phylogenetic
distances between tips.

if(require(ape) & require(phylobase)){ ## make a tree x <- as(rtree(10),"phylo4") plot(x, show.node=TRUE) axisPhylo() ## compute different distances distTips(x, 1:3) distTips(x, 1:3, "nNodes") distTips(x, 1:3, "Abouheif") distTips(x, 1:3, "sumDD") ## compare C and pure R code outputs x <- rtree(10) all.equal(as.matrix(distTips(x)), as.matrix(distTips(x, useC=FALSE))) all.equal(as.matrix(distTips(x, meth="nNode")), as.matrix(distTips(x, meth="nNode", useC=FALSE))) all.equal(as.matrix(distTips(x, meth="Abou")), as.matrix(distTips(x, meth="Abou", useC=FALSE))) all.equal(as.matrix(distTips(x, meth="sumDD")), as.matrix(distTips(x, meth="sumDD", useC=FALSE))) ## compare speed x <- rtree(50) tim1 <- system.time(distTips(x, useC=FALSE)) # old pure R version tim2 <- system.time(distTips(x)) # new version using C tim1[c(1,3)]/tim2[c(1,3)] # C is about a thousand time faster in this case }

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.