Which height will result in which k for a dendrogram
Which height will result in which k for a dendrogram. This helps with speeding up the cutree.dendrogram function.
heights_per_k.dendrogram(dend, ...)
dend |
a dendrogram. |
... |
not used. |
a vector of heights, with its names being the k clusters that will result for cutting the dendrogram at each height.
## Not run: 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. library(microbenchmark) dend <- as.dendrogram(hclust(dist(iris[1:150, -5]))) dend <- as.dendrogram(hclust(dist(iris[1:30, -5]))) dend <- as.dendrogram(hclust(dist(iris[1:3, -5]))) microbenchmark( # dendextendRcpp::heights_per_k.dendrogram(dend), dendextendRcpp::dendextendRcpp_heights_per_k.dendrogram(dend), dendextendRcpp::old_heights_per_k.dendrogram(dend) ) # improvment is 10 times faster (in Rcpp) for a tree of size 3 # 76 times faster for a tree of size 30 # And: # 134 times faster for a tree of size 150!! ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.