創建數據集
library(stats)#cbind: 根據列進行合併,即疊加所有列,m列的矩陣與n列的矩陣cbind()最後變成m+n列,合併前提:cbind(a, c)中矩陣a、c的行數必需相符
#rbind: 根據行進行合併,就是行的疊加,m行的矩陣與n行的矩陣rbind()最後變成m+n行,合併前提:rbind(a, c)中矩陣a、c的列數必需相符
#rnorm函數是指生成隨機數據集,參數分別爲爲(數據個數,平均數,標準差)
c1<-cbind(rnorm(20,4,1),rnorm(20,2,1)) #構建第一個數據集
c2<-cbind(rnorm(20,4,1),rnorm(20,20,1)) #構建第二個數據集
c3<-cbind(rnorm(20,20,1),rnorm(20,20,1))#構建第三個數據集
#rbind: 根據行進行合併,就是行的疊加,m行的矩陣與n行的矩陣rbind()最後變成m+n行,合併前提:rbind(a, c)中矩陣a、c的列數必需相符
v=rbind(c1,c2,c3)
plot(v)
1.本次實驗中採用的cluster包中的AGNES(Agglomerative Nesting)層次聚類算法。
#daisy函數:Compute all the pairwise dissimilarities (distances) between observations in the data set.
> agnSingle<-agnes(daisy(v),diss=TRUE,method="single") #簇之間相似度採用最小值的聚類結果樹狀圖
> agnComplete<-agnes(daisy(v),diss=TRUE,method="complete") #簇之間相似度採用最大值的聚類結果樹狀圖
> agnAverage<-agnes(daisy(v),diss=TRUE,method="average") #簇之間相似度採用平均值的聚類結果樹狀圖
> plot(agnSingle)
Hit <Return> to see next plot:
Hit <Return> to see next plot:
> plot(agnComplete)
Hit <Return> to see next plot:
Hit <Return> to see next plot:
> plot(agnAverage)
Hit <Return> to see next plot:
Hit <Return> to see next plot:
2.分裂層次聚類:
本次實驗中採用的是cluster包中的DIANA(Divisive Analysis)層次聚類算法。
> dv<-diana(v)
> plot(dv)