# agnes

##### Agglomerative Nesting

Computes agglomerative hierarchical clustering of the dataset.

- Keywords
- cluster

##### Usage

```
agnes(x, diss = inherits(x, "dist"),
metric = "euclidean", stand = FALSE, method = "average")
```

##### Arguments

- x
- data matrix or data frame, or dissimilarity matrix, depending on the
value of the
`diss`

argument.In case of a matrix or data frame, each row corresponds to an observation, and each column corresponds to a variable. All variables

- diss
- logical flag: if TRUE (default for
`dist`

or`dissimilarity`

objects), then`x`

is assumed to be a dissimilarity matrix. If FALSE, then`x`

is treated as a matrix of observations by variables. - metric
- character string specifying the metric to be used for calculating dissimilarities between observations. The currently available options are "euclidean" and "manhattan". Euclidean distances are root sum-of-squares of differences, and manhat
- stand
- logical flag: if TRUE, then the measurements in
`x`

are standardized before calculating the dissimilarities. Measurements are standardized for each variable (column), by subtracting the variable's mean value and dividing by the vari - method
- character string defining the clustering method. The five methods implemented are "average" (group average method), "single" (single linkage), "complete" (complete linkage), "ward" (Ward's method), and "weighted" (weighted average linkage).

##### Details

`agnes`

is fully described in chapter 5 of Kaufman and Rousseeuw (1990).
Compared to other agglomerative clustering methods such as `hclust`

,
`agnes`

has the following features: (a) it yields the
agglomerative coefficient (see `agnes.object`

)
which measures the amount of clustering structure found; and (b)
apart from the usual tree it also provides the banner, a novel
graphical display (see `plot.agnes`

).

The `agnes`

-algorithm constructs a hierarchy of clusterings.
At first, each observation is a small cluster by itself. Clusters are
merged until only one large cluster remains which contains all the
observations. At each stage the two *nearest* clusters are combined
to form one larger cluster.

For `method="average"`

, the distance between two clusters is the
average of the dissimilarities between the points in one cluster and the
points in the other cluster.
In `method="single"`

, we use the smallest dissimilarity between a
point in the first cluster and a point in the second cluster (nearest
neighbor method).
When `method="complete"`

, we use the largest dissimilarity
between a point in the first cluster and a point in the second cluster
(furthest neighbor method).

##### Value

- an object of class
`"agnes"`

representing the clustering. See`agnes.object`

for details.

##### References

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

Anja Struyf, Mia Hubert & Peter J. Rousseeuw (1996):
Clustering in an Object-Oriented Environment.
*Journal of Statistical Software*, **1**.

Struyf, A., Hubert, M. and Rousseeuw, P.J. (1997). Integrating
Robust Clustering Techniques in S-PLUS,
*Computational Statistics and Data Analysis*, **26**, 17--37.

##### See Also

`agnes.object`

, `daisy`

, `diana`

,
`dist`

, `hclust`

, `plot.agnes`

,
`twins.object`

.

##### Examples

```
data(votes.repub)
agn1 <- agnes(votes.repub, metric = "manhattan", stand = TRUE)
agn1
plot(agn1)
agn2 <- agnes(daisy(votes.repub), diss = TRUE, method = "complete")
plot(agn2)
data(agriculture)
## Plot similar to Figure 7 in ref
plot(agnes(agriculture), ask = TRUE)
<testonly>plot(agnes(agriculture))</testonly>
```

*Documentation reproduced from package cluster, version 1.4-1, License: GPL version 2 or later*