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)



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