R語言分層聚類分析詳細步驟

R中分層聚類算法:

創建數據集

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)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章