Reorder a Dendrogram
A method for the generic function
There are many different orderings of a dendrogram that are consistent with the structure imposed. This function takes a dendrogram and a vector of values and reorders the dendrogram in the order of the supplied vector, maintaining the constraints on the dendrogram.
# S3 method for dendrogram reorder(x, wts, agglo.FUN = sum, …)
the (dendrogram) object to be reordered
numeric weights (arbitrary values) for reordering.
a function for weights agglomeration, see below.
Using the weights
wts, the leaves of the dendrogram are
reordered so as to be in an order as consistent as possible with the
weights. At each node, the branches are ordered in
increasing weights where the weight of a branch is defined as
\(f(w_j)\) where \(f\) is
agglo.FUN and \(w_j\) is the
weight of the \(j\)-th sub branch).
A dendrogram where each node has a further attribute
its corresponding weight.
require(graphics) set.seed(123) x <- rnorm(10) hc <- hclust(dist(x)) dd <- as.dendrogram(hc) dd.reorder <- reorder(dd, 10:1) plot(dd, main = "random dendrogram 'dd'") op <- par(mfcol = 1:2) plot(dd.reorder, main = "reorder(dd, 10:1)") plot(reorder(dd, 10:1, agglo.FUN = mean), main = "reorder(dd, 10:1, mean)") par(op)