| sil {kmed} | R Documentation |
Silhouette index and plot
Description
This function creates silhouette indices and silhouette plots of each cluster. The plot presents also the mean of the silhouette indices per cluster.
Usage
sil(distdata, idmedoid, idcluster, title = "")
Arguments
distdata |
A distance matrix (n x n) or dist object. |
idmedoid |
A vector of id medoids (see Details). |
idcluster |
A vector of cluster membership (see Details). |
title |
A title of the plot. |
Details
The silhouette index of object i is calculated by
si(i)=\frac{b_i-a_i}{max(a_i, b_i)}
where a_i is the average distance of object i to all objects
within the cluster, and b_i is the average distance of object i
to all objects within the nearest cluster.
The idmedoid argument corresponds to the idcluster argument.
If the length of idmedoid is 3, for example, the idcluster has
to have 3 unique memberships, or it returns Error otherwise. The
length of the idcluster has also to be equal to n
(the number of objects).
Value
Function returns a list with following components:
result is a data frame of the silhouette indices for all objects
plot is the silhouette plots of each cluster.
Author(s)
Weksi Budiaji
Contact: budiaji@untirta.ac.id
References
P. J. Rousseeuw. 1987 Silhouettes: a graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics, vol. 20, pp. 53-65
Examples
distiris <- as.matrix(dist(iris[,1:4]))
res <- fastkmed(distiris, 3)
silhouette <- sil(distiris, res$medoid, res$cluster)
silhouette$result[c(1:3,70:75,101:103),]
silhouette$plot