R软件在系统聚类分析中的应用(2)
若水分享
1147
二、基于R语言的系统聚类分析程序
R软件及其相关包提供了各种聚类方法,主要是系统聚类方法、快速聚类方法、模糊聚类方法,常用的是系统聚类方法。
R软件实现系统聚类的程序如下:
hclust(d,method="complete",members=NULL)
其中,d是由“dist”构成的距离结构,具体包括绝对值距离、欧氏距离、切比雪夫距离、马氏距离、兰氏距离等,默认为欧氏距离;method包括类平均法average、重心法centroid、中间距离法median、最长距离法complete、最短距离法single、离差平方和法ward等,默认是最长距离法complete。
三、应用举例
表1是山东省2008年各市居民家庭平均每人全年消费性支出,利用所给数据对各市进行系统聚类。(表1)
R语言程序如下:
>X<-read.delim("clipboard",header=T)
>row.names(X)<-c("济南","青岛","淄博","枣庄","东营","烟台","潍坊","济宁","泰安","威海","日照","莱芜","临沂","德州","聊城","滨州","菏泽")
>d<-dist(scale(X))
>hc1<-hclust(d,"single")#最短距离法
>hc2<-hclust(d,"complete")#最长距离法
>hc3<-hclust(d,"median")#中间距离法
>hc4<-hclust(d,"ward")#Ward法
>opar<-par(mfrow=c(2,2))
>plot(hc1,hang=-1);plot(hc2,hang=-1)
>plot(hc3,hang=-1);plot(hc4,hang=-1)
输出结果(图1)
结果分析
由图1可以看出,不同方法的分类大体一样,结合山东省具体实际情况,最长距离法分类效果较好。
在系统聚类分析中,利用R软件是最方便、最简单、最易学的,而且根据不同的情况,可以自己修改别人的程序,比较方便;可以在处理多元数据聚类分析中,利用R软件具有很大的优势。
主要参考文献:
[1]王斌会.多元统计分析及R语言建模[M].广州:暨南大学出版社,2010.
[2]汤银才.R语言与统计分析[M].北京:高等教育出版社,2005.
[3]高惠璇.应用多元统计分析[M].北京:北京大学出版社,2005.
[4]李卫东.应用多元统计分析[M].北京:北京大学出版社,2008.