

   DDiivviissiivvee AAnnaallyyssiiss

        diana(x, diss=F, metric="euclidean", stand=F)

   AArrgguummeennttss::

          x: data matrix or dataframe, or dissimilarity matrix,
             depending on the value of the `diss' argument.

             In case of a matrix or dataframe, each row corre-
             sponds to an observation, and each column corre-
             sponds to a variable. All variables must be
             numeric.  Missing values (NAs) are allowed.

             In case of a dissimilarity matrix, `x' is typi-
             cally the output of `daisy' or `dist'. Also a vec-
             tor with length n*(n-1)/2 is allowed (where n is
             the number of objects), and will be interpreted in
             the same way as the output of the above-mentioned
             functions. Missing values (NAs) are not allowed.

       diss: logical flag: if TRUE, then `x' will be considered
             as a dissimilarity matrix. If FALSE, then `x' will
             be considered as a matrix of observations by vari-
             ables.

     metric: character string specifying the metric to be used
             for calculating dissimilarities between objects.
             The currently available options are "euclidean"
             and "manhattan".  Euclidean distances are root
             sum-of-squares of differences, and manhattan dis-
             tances are the sum of absolute differences.  If
             `x' is already a dissimilarity matrix, then this
             argument will be ignored.

      stand: logical flag: if TRUE, then the measurements in
             `x' are standardized before calculating the dis-
             similarities. Measurements are standardized for
             each variable (column), by subtracting the vari-
             able's mean value and dividing by the variable's
             mean absolute deviation.  If `x' is already a dis-
             similarity matrix, then this argument will be
             ignored.

   DDeessccrriippttiioonn::

        `diana' is fully described in chapter 6 of Kaufman and
        Rousseeuw (1990).  It is probably unique in computing a
        divisive hierarchy, whereas most other software for
        hierarchical clustering is agglomerative.  Moreover,
        `diana' provides (a) the divisive coefficient (see
        `diana.object') which measures the amount of clustering
        structure found; and (b) the banner, a novel graphical
        display (see `plot.diana').

        The `diana'-algorithm constructs a hierarchy of clus-
        terings, starting with one large cluster containing all
        n objects. Clusters are divided until each cluster con-
        tains only a single object.  At each stage, the cluster
        with the largest diameter is selected.  (The diameter
        of a cluster is the largest dissimilarity between any
        two of its objects.)  To divide the selected cluster,
        the algorithm first looks for its most disparate object
        (i.e., which has the largest average dissimilarity to
        the other objects of the selected cluster). This object
        initiates the "splinter group". In subsequent steps,
        the algorithm reassigns objects that are closer to the
        "splinter group" than to the "old party". The result is
        a division of the selected cluster into two new clus-
        ters.

   VVaalluuee::

        an object of class `"diana"' representing the cluster-
        ing.  See diana.object for details.

   BBAACCKKGGRROOUUNNDD::

        Cluster analysis divides a dataset into groups (clus-
        ters) of objects that are similar to each other. Hier-
        archical methods like `agnes', `diana', and `mona' con-
        struct a hierarchy of clusterings, with the number of
        clusters ranging from one to the number of objects.
        Partitioning methods like `pam', `clara', and `fanny'
        require that the number of clusters be given by the
        user.

   RReeffeerreenncceess::

        Kaufman, L. and Rousseeuw, P.J. (1990). Finding Groups
        in Data: An Introduction to Cluster Analysis. Wiley,
        New York.

   SSeeee AAllssoo::

        `diana.object', `daisy', `dist', `plot.diana',
        `pltree.diana', `agnes'.

   EExxaammpplleess::

        dia1 <- diana(votes.repub, metric="manhattan", stand=T)
        print(dia1)
        plot(dia1)

        dia2 <- diana(daisy(votes.repub), diss=T, method="complete")
        pltree(dia2)

        diana(dist(votes.repub), diss=T)

