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.

# S3 method for class '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,
  ...
)

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.

Value

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

Examples


if (FALSE) { # \dontrun{

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))
} # }