Learn R Programming

dendextend (version 1.18.1)

all.equal.dendrogram: Global Comparison of two (or more) dendrograms

Description

This function makes a global comparison of two or more dendrograms trees.

The function can get two dendlist objects and compare them using all.equal.list. If a dendlist is in only "target" (and not "current"), it will go through the dendlist and compare all of the dendrograms within it to one another.

Usage

# S3 method for equal.dendrogram
all(
  target,
  current,
  use.edge.length = TRUE,
  use.tip.label.order = FALSE,
  use.tip.label = TRUE,
  use.topology = TRUE,
  tolerance = .Machine$double.eps^0.5,
  scale = NULL,
  ...
)

Value

Either TRUE (NULL for attr.all.equal) or a vector of mode "character" describing the differences between target and current.

Arguments

target

an object of type dendrogram or dendlist

current

an object of type dendrogram

use.edge.length

logical (TRUE). If to check branches' heights.

use.tip.label.order

logical (FALSE). If to check labels are in the same and in identical order

use.tip.label

logical (TRUE). If to check that labels are the same (regardless of order)

use.topology

logical (TRUE). If to check teh existence of distinct edges

tolerance

the numeric tolerance used to compare the branch lengths.

scale

a positive number (NULL as default), comparison of branch height is made after scaling (i.e., dividing) them by this number.

...

Ignored.

See Also

all.equal, all.equal.phylo, identical

Examples

Run this code

if (FALSE) {

set.seed(23235)
ss <- sample(1:150, 10)
dend1 <- iris[ss, -5] %>%
  dist() %>%
  hclust("com") %>%
  as.dendrogram()
dend2 <- iris[ss, -5] %>%
  dist() %>%
  hclust("single") %>%
  as.dendrogram()
dend3 <- iris[ss, -5] %>%
  dist() %>%
  hclust("ave") %>%
  as.dendrogram()
dend4 <- iris[ss, -5] %>%
  dist() %>%
  hclust("centroid") %>%
  as.dendrogram()
#    cutree(dend1)

all.equal(dend1, dend1)
all.equal(dend1, dend2)
all.equal(dend1, dend2, use.edge.length = FALSE)
all.equal(dend1, dend2, use.edge.length = FALSE, use.topology = FALSE)

all.equal(dend2, dend4, use.edge.length = TRUE)
all.equal(dend2, dend4, use.edge.length = FALSE)

all.equal(dendlist(dend1, dend2, dend3, dend4))
all.equal(dendlist(dend1, dend2, dend3, dend4), use.edge.length = FALSE)
all.equal(dendlist(dend1, dend1, dend1))
}

Run the code above in your browser using DataLab