View source: R/plotfunctions.R
plotwithprototypes  R Documentation 
Makes a plot of the dendrogram (using plot.hclust
) and adds labels of
prototypes on the interior nodes of a dendrogram.
plotwithprototypes( hc, imerge = seq(n), labels = NULL, bgcol = "white", font = 1, col = 1, cex = 1, ... )
hc 
an object of class 
imerge 
a vector of the nodes whose prototype labels should be added.
Interior nodes are numbered from 1 (lowest merge) to n  1 (highest merge,
i.e. the root) and leafnodes are negative (so if element i is a prototype
for a singleton cluster, then i is included in imerge). Example:

labels 
an optional character vector of length n giving the labels of
the elements clustered. If not provided, hc$labels is used (if not NULL) or
else labels are taken to be 
bgcol 
background color for prototype labels 
col, font 
color and font of prototype labels 
cex 
size of prototype label 
... 
additional arguments to be passed to 
This function lets one put prototype labels on a dendrogram. The argument
imerge
controls which interior nodes and leaves are labeled. A
convenient choice for the argument imerge
is the imerge
output
of protocut
. This allows one to label a dendrogram with the
prototypes of a particular cut. See examples below. This function is
called when one writes plot(hc)
, where hc
is an object of
class protoclust
.
Jacob Bien and Rob Tibshirani
Bien, J., and Tibshirani, R. (2011), "Hierarchical Clustering with Prototypes via Minimax Linkage," The Journal of the American Statistical Association, 106(495), 10751084.
protoclust
, protocut
# generate some data: set.seed(1) n < 100 p < 2 x < matrix(rnorm(n * p), n, p) rownames(x) < paste("A", 1:n, sep="") d < dist(x) # perform minimax linkage clustering: hc < protoclust(d) # cut the tree to yield a 10cluster clustering: k < 10 # number of clusters cut < protocut(hc, k=k) h < hc$height[n  k] # plot dendrogram (and show cut): plotwithprototypes(hc, imerge=cut$imerge) # or more simply: plot(hc, imerge=cut$imerge) abline(h=h, lty=2) # negative values of imerge specify which leaves to label k2 < 20 # more clusters... with two singletons cut2 < protocut(hc, k=k2) h2 < hc$height[n  k2] plot(hc, hang=1, imerge=cut2$imerge) abline(h=h2, lty=2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.