d<-dist(scale(iris[,-5]))
h<-hclust(d)
plot(h, hang=-.1,labels=iris[["Species"]],cex=.5)

c<-cutree(h,3)
(cm<-table(c, iris$Species))
##
## c setosa versicolor virginica
## 1 49 0 0
## 2 1 21 2
## 3 0 29 48
Error<-100*(1-sum(diag(cm)/sum(cm)))
Error
## [1] 21.33333
library(cluster)
plot(silhouette(c,d))

set.seed(1234)
d<-dist(scale(iris[,-5]))
methds<-c('complete','single','average')
avgS<-matrix(NA, ncol = 3, nrow = 5,dimnames = list(2:6,methds))
for(k in 2:6){
for(m in seq_along(methds)){h<-hclust(d, meth=methds[m])
c<-cutree(h,k)
s<-silhouette(c,d)
avgS[k-1,m]=mean(s[,3])
avgS
}
}
avgS
## complete single average
## 2 0.4408121 0.5817500 0.5817500
## 3 0.4496185 0.5046456 0.4802669
## 4 0.4106071 0.4067465 0.4067465
## 5 0.3520630 0.3424089 0.3746013
## 6 0.3106991 0.2018867 0.3248248