TreeDist (version 1.1.1)

CompareAll: Distances between each pair of trees

Description

Calculate the distance between each tree in a list, and each other tree in the same list.

Usage

CompareAll(x, Func, FUN.VALUE = Func(x[[1]], x[[1]]), ...)

Arguments

x

List of trees, in the format expected by Func().

Func

distance function returning distance between two trees, e.g. path.dist().

FUN.VALUE

Format of output of Func(), to be passed to vapply(). If unspecified, calculated by running Func(x[[1]], x[[1]]).

Additional parameters to pass to Func().

Value

CompareAll() returns a distance matrix of class dist detailing the distance between each pair of trees. Identical trees are assumed to have zero distance.

Details

CompareAll() is not limited to tree comparisons: Func can be any symmetric function.

Examples

Run this code
# NOT RUN {
# Generate a list of trees to compare
library('TreeTools', quietly = TRUE, warn.conflicts = FALSE)
trees <- list(bal1 = BalancedTree(1:8), 
              pec1 = PectinateTree(1:8),
              pec2 = PectinateTree(c(4:1, 5:8)))
  
# Compare each tree with each other tree
CompareAll(trees, NNIDist)
  
# Providing FUN.VALUE yields a modest speed gain:
dist <- CompareAll(trees, NNIDist, FUN.VALUE = integer(7))
  
# View distances as a matrix
as.matrix(dist$lower)
# }

Run the code above in your browser using DataLab