【R统计】基于相似系数的聚类分析

题目:

对48名应聘者数据的自变量作聚类分析,选择变量的相关系数作为变量间的相似系数(cij),距离定义为dij=1-cij。分别用最长距离法、均值法、重心法和Ward法作聚类分析,并画出相应的谱系图。如果将所有变量分为5类,试写出各种方法的分类结果。

数据(applicant.data):

      FL APP AA LA SC LC HON SMS EXP DRV   AMB GSP   POT KJ SUIT
  1    6   7  2  5  8  7   8   8   3   8     9   7     5  7  10
  2    9  10  5  8 10  9   9  10   5   9     9   8     8  8  10
  3    7   8  3  6  9  8   9   7   4   9     9   8     6  8  10
  4    5   6  8  5  6  5   9   2   8   4     5   8     7  6   5
  5    6   8  8  8  4  4   9   5   8   5     5   8     8  7   7
  6    7   7  7  6  8  7  10   5   9   6     5   8     6  6   6
  7    9   9  8  8  8  8   8   8  10   8    10   8     9  8  10
  8    9   9  9  8  9  9   8   8  10   9    10   9     9  9  10
  9    9   9  7  8  8  8   8   5   9   8     9   8     8  8  10
 10    4   7 10  2 10 10   7  10   3  10    10  10     9  3  10
 11    4   7 10  0 10  8   3   9   5   9    10   8    10  2   5
 12    4   7 10  4 10 10   7   8   2   8     8  10    10  3   7
 13    6   9  8 10  5  4   9   4   4   4     5   4     7  6   8
 14    8   9  8  9  6  3   8   2   5   2     6   6     7  5   6
 15    4   8  8  7  5  4  10   2   7   5     3   6     6  4   6
 16    6   9  6  7  8  9   8   9   8   8     7   6     8  6  10
 17    8   7  7  7  9  5   8   6   6   7     8   6     6  7   8
 18    6   8  8  4  8  8   6   4   3   3     6   7     2  6   4
 19    6   7  8  4  7  8   5   4   4   2     6   8     3  5   4
 20    4   8  7  8  8  9  10   5   2   6     7   9     8  8   9
 21    3   8  6  8  8  8  10   5   3   6     7   8     8  5   8
 22    9   8  7  8  9 10  10  10   3  10     8  10     8 10   8
 23    7  10  7  9  9  9  10  10   3   9     9  10     9 10   8
 24    9   8  7 10  8 10  10  10   2   9     7   9     9 10   8
 25    6   9  7  7  4  5   9   3   2   4     4   4     4  5   4
 26    7   8  7  8  5  4   8   2   3   4     5   6     5  5   6
 27    2  10  7  9  8  9  10   5   3   5     6   7     6  4   5
 28    6   3  5  3  5  3   5   0   0   3     3   0     0  5   0
 29    4   3  4  3  3  0   0   0   0   4     4   0     0  5   0
 30    4   6  5  6  9  4  10   3   1   3     3   2     2  7   3
 31    5   5  4  7  8  4  10   3   2   5     5   3     4  8   3
 32    3   3  5  7  7  9  10   3   2   5     3   7     5  5   2
 33    2   3  5  7  7  9  10   3   2   2     3   6     4  5   2
 34    3   4  6  4  3  3   8   1   1   3     3   3     2  5   2
 35    6   7  4  3  3  0   9   0   1   0     2   3     1  5   3
 36    9   8  5  5  6  6   8   2   2   2     4   5     6  6   3
 37    4   9  6  4 10  8   8   9   1   3     9   7     5  3   2
 38    4   9  6  6  9  9   7   9   1   2    10   8     5  5   2
 39   10   6  9 10  9 10  10  10  10  10     8  10    10 10  10
 40   10   6  9 10  9 10  10  10  10  10    10  10    10 10  10
 41   10   7  8  0  2  1   2   0  10   2     0   3     0  0  10
 42   10   3  8  0  1  1   0   0  10   0     0   0     0  0  10
 43    3   4  9  8  2  4   5   3   6   2     1   3     3  3   8
 44    7   7  7  6  9  8   8   6   8   8    10   8     8  6   5
 45    9   6 10  9  7  7  10   2   1   5     5   7     8  4   5
 46    9   8 10 10  7  9  10   3   1   5     7   9     9  4   4
 47    0   7 10  3  5  0  10   0   0   2     2   0     0  0   0
 48    0   6 10  1  5  0  10   0   0   2     2   0     0  0   0

  

脚本:

rt<-read.table("applicant.data")
c<-cor(rt)
index<-as.dist(1-c)
hc1<-hclust(index, "complete")
hc2<-hclust(index, "average")
hc3<-hclust(index, "centroid")
hc4<-hclust(index, "ward")

opar<-par(mfrow=c(2,1), mar=c(5.2,4,0,0))
plclust(hc1,hang=-1)
re1<-rect.hclust(hc1,k=5,border="red")
plclust(hc2,hang=-1)
re2<-rect.hclust(hc2,k=5,border="red")
par(opar)

opar<-par(mfrow=c(2,1), mar=c(5.2,4,0,0))
plclust(hc3,hang=-1)
re3<-rect.hclust(hc3,k=5,border="red")
plclust(hc4,hang=-1)
re4<-rect.hclust(hc4,k=5,border="red")
par(opar)

  

图片:

 

 

 

博文源代码和习题均来自于教材《统计建模与R软件》(ISBN:9787302143666,作者:薛毅)。

posted @ 2018-05-17 23:55  LeleLiu  阅读(1983)  评论(0编辑  收藏  举报