【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。

针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。

  • 1.数据概况
  • 2.代码及运行结果
    • 2.1 系统聚类法
    • 2.2 快速聚类法

目的:1996年全国31个省、市、自治区城镇居民消费数据采用系统聚类及快速聚类做聚类分析

1.数据概况

【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第1张图片
数据及代码连接:链接:https://pan.baidu.com/s/1n0nrF3txGosB00gGlfMw5w
提取码:8888

2.代码及运行结果

2.1 系统聚类法

#导包
library(xlsx)
#读取数据
data = read.xlsx("C:\\Users\\6\\Desktop\\R语言\\多元统计分析及R语言建模作业\\1996年全国31个省、市、自治区城镇居民消费数据.xlsx",'Sheet1',row.names=T)
#了解数据结构
plot(data,gap=0)

【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第2张图片

#计算矩阵行向量之前的距离
D=dist(data);D  #默认为euclidean距离

#对每个聚类模型进行测试
#图片统一放在代码最下方,可根据图片里的表示判断是哪个距离法
plot(hclust(D,"single")); #最短距离法
plot(hclust(D,'complete')) #最长距离法
plot(hclust(D,'median')) #中间距离法
plot(hclust(D,'average')) #类平均法
plot(hclust(D,'centroid')) #重心法
plot(hclust(D,'ward.D')) #Ward.D法
plot(hclust(D,'ward.D2')) #Ward.D2法
H = hclust(D,'ward.D2');H #选择Ward.D2法进行进一步分类

最短距离法:
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第3张图片
最长距离法
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第4张图片

中间距离法:
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第5张图片

类平均法:
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第6张图片

重心法:
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第7张图片

Ward.D法
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第8张图片

Ward.D2法
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第9张图片

综合考虑以上的分析结果,从全国各省、市、自治区的消费数据来看,使用Ward.D2方法聚类的效果较好,且分为四类较为合适。

plot(H);rect.hclust(H,2)
cutree(H,2) # 分两类
plot(H);rect.hclust(H,3)
cutree(H,3) #分三类
plot(H);rect.hclust(H,4)
cutree(H,4) #分四类

结果如下:
两类:
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第10张图片
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第11张图片
三类:
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第12张图片

【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第13张图片
四类:
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第14张图片

【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第15张图片
按类整理聚类图结果:
这个图画的画比较难画,word版已上传至网盘,可复制。若有问题可在评论区提出。
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第16张图片

2.2 快速聚类法

X = rbind(data)
km = kmeans(X,4) #使用快速聚类发分四类 (同样可以分为2,3,4类,参数自调)
kc = km$cluster
km #km中存有快速聚类结果

最终结果如下:
两类:
提示:在R gui中,城市及分类的情况(1,2,3,4)是错位的,要看清哦!
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第17张图片
三类:
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第18张图片
四类:
整理的效果图:
【多元统计分析及R语言建模】附代码及word版表格,针对教材P212页的表格7-5,用系统聚类和快速聚类做聚类分析。_第19张图片
结论:对比系统聚类法及快速聚类法,两种聚类法在聚类方面基本上差不多,只有在分四类时,浙江出现了微小的差距,在分两类分三类时,情况是一致的,因此在选择聚类的方法时可以根据实际情况选择较好的模型。

你可能感兴趣的:(R语言,r语言,大数据)