This function seems to bring different results than ape - checking this out is still an open issue: github issue

This function computes the Robinson-Foulds distance (also known as symmetric difference) between two dendrograms. This is the number of edges (branches) in tree_1 with a combination of labels that exist in it but not in any subtree of tree2, plus the same calculation of tree2 when compared to tree1. This is the sum of length of distinct_edges(x,y) with distinct_edges(y,x).

This function might implement other topological distances in the future.

dist.dendlist(dend, method = c("edgeset"), ...)

Arguments

dend

a dendlist

method

currently only 'edgeset' is implemented.

...

Ignored.

Value

A dist object with topological distances between all trees

See also

distinct_edges, dist.topo, dist.multiPhylo, treedist,

Examples


x <- 1:5 %>%
  dist() %>%
  hclust() %>%
  as.dendrogram()
y <- set(x, "labels", 5:1)

dist.dendlist(dendlist(x1 = x, x2 = x, y1 = y))
#>    x1 x2
#> x2  0   
#> y1  4  4
dend_diff(x, y)


# Larger trees
x <- 1:6 %>%
  dist() %>%
  hclust() %>%
  as.dendrogram()
y <- set(x, "labels", c(1:3, 6, 4, 5))

dend_diff(x, y)

dist.dendlist(dendlist(x, y))
#>   1
#> 2 6
distinct_edges(x, y)
#> [1] 2 5 9
distinct_edges(y, x)
#> [1] 5 6 9
length(distinct_edges(x, y)) + length(distinct_edges(y, x)) # dist.dendlist
#> [1] 6