hclust {mva} | R Documentation |
Hierarchical Clustering
Description
Performs a hierarchical cluster analysis on a set of dissimilarities.
Usage
hclust(d, method = "complete")
plot.hclust(hclust.obj, labels, hang = 0.1, ...)
Arguments
d |
a dissimilarity structure as produced by |
method |
the agglomeration method to be used. This should
be (an unambiguous abbreviation of) one of
|
hclust.obj |
an object of the type produced by |
hang |
The fraction of the plot height which labels should hang below the rest of the plot. A negative value will cause the labels to hang down from 0. |
labels |
A character vector of of labels for the leaves of the
tree. By default the row names or row numbers of the original data are
used. If |
Details
This function performs a hierarchical cluster analysis
using a set of dissimilarities for the n
objects being
clustered. Initially, each object is assigned to its own
cluster and then the algorithm proceeds iteratively,
at each stage joining the two most similar clusters,
continuing until there is just a single cluster.
At each stage distances between clusters are recomputed
by the Lance–Williams dissimilarity update formula
according to the particular clustering method being used.
An number of different clustering methods are provided. Ward's minimum variance method aims at finding compact, spherical clusters. The complete linkage method finds similar clusters. The single linkage method (which is closely related to the minimal spanning tree) adopts a ‘friends of friends’ clustering strategy. The other methods can be regarded as aiming for clusters with characteristics somewhere between the single and complete link methods.
In hierarchical cluster displays, a decision is needed at each merge to
specify which subtree should go on the left and which on the right.
Since, for n
observations there are n-1
merges,
there are 2^{(n-1)}
possible orderings for the leaves
in a cluster tree, or dendrogram.
The algorithm used in hclust
is to order the subtree so that
the tighter cluster is on the left (the last, i.e. most recent,
merge of the left subtree is at a lower value than the last
merge of the right subtree).
Single observations are the tightest clusters possible,
and merges involving two observations place them in order by their
observation sequence number.
Value
An object of class hclust which describes the tree produced by the clustering process. The object is a list with components:
merge |
an |
height |
a set of |
order |
a vector giving the permutation of the original
observations suitable for plotting, in the sense that a cluster
plot using this ordering and matrix |
labels |
labels for each of the objects being clustered. |
call |
the call which produced the result. |
method |
the cluster method that has been used. |
dist.method |
the distance that has been used to create |
Author(s)
The hclust
function is based on Fortran code
contributed to STATLIB by F. Murtagh.
References
Everitt, B. (1974). Cluster Analysis. London: Heinemann Educ. Books.
Hartigan, J. A. (1975). Clustering Algorithms. New York: Wiley.
Sneath, P. H. A. and R. R. Sokal (1973). Numerical Taxonomy. San Francisco: Freeman.
Anderberg, M. R. (1973). Cluster Analysis for Applications. Academic Press: New York.
Gordon, A. D. (1981). Classification. London: Chapman and Hall.
Murtagh, F. (1985). “Multidimensional Clustering Algorithms”, in COMPSTAT Lectures 4. Wuerzburg: Physica-Verlag (for algorithmic details of algorithms used).
See Also
kmeans
.
Examples
library(mva)
data(USArrests)
hc <- hclust(dist(USArrests), "ave")
plot(hc, hang=-1)
plot(hc)