R软件在系统聚类分析中的应用(2)

若水221147 分享 时间:

  二、基于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.
3384