

_H_i_e_r_a_r_c_h_i_c_a_l _C_l_u_s_t_e_r_i_n_g

     hclust(d, method="complete")

     plot.hclust(hclust.obj, labels, hang=0.1, ...)

_A_r_g_u_m_e_n_t_s:

       d: a dissimilarity structure as produced by `dist'.

  method: the agglomeration method to be used. This should
          be (an unambiguous abbreviation of) one of
          `"ward"', `"single"', `"complete"', `"average"',
          `"mcquitty"', `"median"' or `"centroid"'.

hclust.obj: an object of the type produced by `hclust'.

    hang: The fraction of the plot height which labels
          should hang below the rest of the plot.  A nega-
          tive 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 `labels=FALSE'
          no labels at all are plotted.

_D_e_s_c_r_i_p_t_i_o_n:

     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 itera-
     tively, at each stage joining the two most similar
     clusters, continuing until there is just a single clus-
     ter.  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 com-
     plete 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 order-
     ings for the leaves in a cluster tree, or dendrogram.
     The algorithm 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).
     Observations are the tightest clusters possible, and
     merges involving two observations place them in order
     by their observation sequence number.

_V_a_l_u_e:

     An object of class hclust which describes the tree pro-
     duced by the clustering processs.  The object is a list
     with components:

   merge: an n-1 by 2 matrix.  Row i of `merge' describes
          the merging of clusters at step i of the cluster-
          ing.  If an element j in the row is negative, then
          observation -j was merged at this stage.  If j is
          positive then the merge was with the cluster
          formed at the (earlier) stage j of the algorithm.
          Thus negative entries in `merge' indicate
          agglomerations of singletons, and positive entries
          indicate agglomerations of non-singletons.

  height: a set of n-1 non-decreasing real values.  The
          clustering height: that is, the value of the cri-
          terion associated with the clustering `method' for
          the particular agglomeration.

   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
          `merge' will not have crossings of the branches.

  labels: labels for each of the objects being clustered.

_A_u_t_h_o_r(_s):

     The `hclust' function is based on Fortran code contri-
     buted to STATLIB by F. Murtagh.

_R_e_f_e_r_e_n_c_e_s:

     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 Applica-
     tions.  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).

_S_e_e _A_l_s_o:

     `kmeans'.

_E_x_a_m_p_l_e_s:

     library(mva)
     data(crimes)
     hc <- hclust(dist(crimes), "ave")
     plot(hc, hang=-1)
     plot(hc)

