File: heights_per_k.dendrogram.Rd

package info (click to toggle)
r-cran-dendextend 1.14.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 2,888 kB
  • sloc: sh: 13; makefile: 2
file content (55 lines) | stat: -rw-r--r-- 1,639 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/cutree.dendrogram.R
\name{heights_per_k.dendrogram}
\alias{heights_per_k.dendrogram}
\alias{dendextend_heights_per_k.dendrogram}
\title{Which height will result in which k for a dendrogram}
\usage{
heights_per_k.dendrogram(dend, ...)
}
\arguments{
\item{dend}{a dendrogram.}

\item{...}{not used.}
}
\value{
a vector of heights, with its names being the k clusters that will
result for cutting the dendrogram at each height.
}
\description{
Which height will result in which k for a dendrogram.
This helps with speeding up the \link{cutree.dendrogram} function.
}
\examples{
\dontrun{
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!!
}
}