comparePhylo: Compare Two "phylo" Objects

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

View source: R/comparePhylo.R

Description

This function compares two phylogenetic trees, rooted or unrooted, and returns a detailed report of this comparison.

Usage

1
2
3
4
comparePhylo(x, y, plot = FALSE, force.rooted = FALSE,
             use.edge.length = FALSE)
## S3 method for class 'comparePhylo'
print(x, ...)

Arguments

x, y

two objects of class "phylo".

plot

a logical value. If TRUE, the two trees are plotted on the same device and their similarities are shown.

force.rooted

a logical value. If TRUE, the trees are considered rooted even if is.rooted returns FALSE.

use.edge.length

a logical value passed to plot.phylo (see below).

...

unused.

Details

In all cases, the numbers of tips and of nodes and the tip labels are compared.

If both trees are rooted, or if force.rooted = TRUE, the clade compositions of each tree are compared. If both trees are also ultrametric, their branching times are compared.

If both trees are unrooted and have the same number of nodes, the bipartitions (aka splits) are compared.

If plot = TRUE, the edge lengths are not used by default because in some situations with unrooted trees, some splits might not be visible if the corresponding internal edge length is very short. To use edge lengths, set use.edge.length = TRUE.

Value

an object of class "comparePhylo" which is a list with messages from the comparison and, optionally, tables comparing branching times.

Author(s)

Emmanuel Paradis

See Also

all.equal.phylo

Examples

1
2
3
4
5
6
7
8
## two unrooted trees but force comparison as rooted:
a <- read.tree(text = "(a,b,(c,d));")
b <- read.tree(text = "(a,c,(b,d));")
comparePhylo(a, b, plot = TRUE, force.rooted = TRUE)
## two random unrooted trees:
c <- rtree(5, rooted = FALSE)
d <- rtree(5, rooted = FALSE)
comparePhylo(c, d, plot = TRUE)

Example output

=> Comparing a with b.
Both trees have the same number of tips: 4.
Both trees have the same tip labels.
Both trees have the same number of nodes: 2.
Both trees are unrooted.
Both trees are not ultrametric.
1 clade in a not in b.
1 clade in b not in a.

=> Comparing c with d.
Both trees have the same number of tips: 5.
Both trees have the same tip labels.
Both trees have the same number of nodes: 3.
Both trees are unrooted.
Both trees are not ultrametric.
No split in common.

ape documentation built on April 25, 2021, 9:06 a.m.