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