Learn R Programming

dendextend (version 0.14.2)

heights_per_k.dendrogram: Which height will result in which k for a dendrogram

Description

Which height will result in which k for a dendrogram

Usage

heights_per_k.dendrogram(tree, ...)

Arguments

tree
a dendrogram.
...
not used.

Value

  • a vector of heights, with its names being the k clusters that will result for cutting the dendrogram at each height.

Examples

Run this code
hc <- hclust(dist(USArrests[1:4,]), "ave")
dend <- as.dendrogram(hc)
heights_per_k.dendrogram(dend)
##       1        2        3        4
##86.47086 68.84745 45.98871 28.36531

cutree(hc, h = 68.8) # and indeed we get 2 clusters

unbranch_dend <- unbranch(dend,2)
plot(unbranch_dend)
heights_per_k.dendrogram(unbranch_dend)
       #1        3        4
       #97.90023 57.41808 16.93594
       # we do NOT have a height for k=2 because of the tree's structure.



# speed gains:
dat1 <- iris[1:150,-5]
# dat1 <- rbind(dat1,dat1,dat1,dat1,dat1,dat1,dat1)
dend_big = as.dendrogram(hclust(dist(dat1)))
require(microbenchmark)
require(dendextendRcpp)
microbenchmark(dendextend_heights_per_k.dendrogram(dend_big),
               heights_per_k.dendrogram(dend_big),
               dendextendRcpp::heights_per_k.dendrogram(dend_big),
               times = 10)
# ~126 times faster!

Run the code above in your browser using DataLab