使用R语言进行聚类分析

一、样本数据描述

城镇居民人均消费支出水平包括食品、衣着、居住、生活用品及服务、通信、文教娱乐、医疗保健和其他用品及服务支出这八项指标来描述。表中列出了2016年我国分地区的城镇居民的人均消费支出的原始数据,数据来源于2017年的《中国统计年鉴》,现要求对下面的数据进行聚类分析。

x1:食品烟酒支出,x2:衣着支出,x3:居住支出,x4:生活用品和服务支出,

x5:交通通信支出,x6:教育文化娱乐支出,x7:医疗保健支出,x8:其他用品和服务支出

City,X1,X2,X3,X4,X5,X6,X7,X8
北京,8070.4,2643,12128,2511,5077.9,4054.7,2629.8,1140.6
天津,8679.6,2114,6187.3,1663.8,3991.9,2643.6,2172.2,892.2
河北,4991.6,1614.4,4483.2,1351.1,2664.1,1991.3,1549.9,460.4
山西,3862.8,1603,3633.8,951.6,2401,2439,1651.6,450.1
内蒙古,6445.8,2543.3,4006.1,1565.1,3045.2,2598.9,1840.2,699.9
辽宁,6901.6,2321.3,4632.8,1558.2,3447,3018.5,2313.6,802.8
吉林,4975.7,1819,3612,1107.1,2691,2367.5,2059.2,534.9
黑龙江,5019.3,1804.4,3352.4,1018.9,2462.9,2011.5,2007.5,468.3
上海,10014.8,1834.8,13216,1868.2,4447.5,4533.5,2839.9,1102.1
江苏,7389.2,1809.5,6140.6,1616.2,3952.4,3163.9,1624.5,736.6
浙江,8467.3,1903.9,7385.4,1420.7,5100.9,3452.3,1691.9,645.3
安徽,6381.7,1491,3931.2,1118.4,2748.4,2233.3,1269.3,432.9
福建,8299.6,1443.5,6530.5,1393.4,3205.7,2461.5,1178.5,492.8
江西,5667.5,1472.2,3915.9,1028.6,2310.6,1963.9,887.4,449.6
山东,5929.4,1977.7,4473.1,1576.5,3002.5,2399.3,1610,526.9
河南,5067.7,1746.6,3753.4,1430.2,1993.8,2078.8,1524.5,492.8
湖北,6294.3,1557.4,4176.7,1163.8,2391.9,2228.4,1792,435.6
湖南,6407.7,1666.4,3918.7,1384.1,2837.1,3406.1,1362.6,437.4
广西,5937.2,886.3,3784.3,1032.8,2259.8,2003,1065.9,299.3
海南,7419.7,859.6,3527.7,954,2582.3,1931.3,1399.8,341
重庆,6883.9,1939.2,3801.1,1466,2573.9,2232.4,1700,434.4
四川,7118.4,1767.5,3756.5,1311.1,2697.6,2008.4,1423.4,577.1
贵州,6010.3,1525.4,3793.1,1270.2,2684.4,2493.5,1050.1,374.6
云南,5528.2,1195.5,3814.4,1135.1,2791.2,2217,1526.7,414.3
陕西,5422,1542.2,3681.5,1367.7,2455.7,2474,2016.7,409
甘肃,5777.3,1776.9,3752.6,1329.1,2517.9,2322.1,1583.4,479.9
青海,5975.7,1963.5,3809.4,1322.1,3064.3,2352.9,1750.4,614.9
宁夏,4889.2,1726.7,3770.5,1245.1,3896.5,2415.7,1874,546.6
新疆,6179.4,1966.1,3543.9,1543.8,3074.1,2404.9,1934.8,581.5
广东,9421.6,1583.4,6410.4,1721.9,4198.1,3103.4,1304.5,870.1
西藏,8727.8,1812.5,3614.5,983.0,2198.4,922.5,585.3,596.5

二、读入数据

df<-read.csv('f:/桌面/人均消费支出.csv')

head(df)

 head(df)city     x1     x2      x3     x4     x5     x6     x7     x8
1   北京 8070.4 2643.0 12128.0 2511.0 5077.9 4054.7 2629.8 1140.6
2   天津 8679.6 2114.0  6187.3 1663.8 3991.9 2643.6 2172.2  892.2
3   河北 4991.6 1614.4  4483.2 1351.1 2664.1 1991.3 1549.9  460.4
4   山西 3862.8 1603.0  3633.8  951.6 2401.0 2439.0 1651.6  450.1
5 内蒙古 6445.8 2543.3  4006.1 1565.1 3045.2 2598.9 1840.2  699.9
6   辽宁 6901.6 2321.3  4632.8 1558.2 3447.0 3018.5 2313.6  802.8

三、使用系统聚类法进行聚类分析

使用R语言中的hclust()进行聚类分析,调用格式为

hclust(d,method='comlete',member=NULL)

默认使用最长距离法,还可以使用下面几种方法:

1、类平均法(average linkage)2、重心法(centroid method)3、中间距离法(median method)4、最长距离法(complete method)5、最短距离法(single method)6、离差平方和法(ward method)7、密度估计法(density method)

attach(df)
df.hc<-hclust(dist(df[,2:9]))  #将聚类结果保存在变量df.hc中

plot(df.hc,hang=-1)   #绘制树状聚类图,使用默认的最长距离法进行聚类分析。

将样本数据分为3类

re<-rect.hclust(df.hc,k=3)

得到把分类框起来的聚类图:

从聚类图中可以看到:北京上海为第一类,江苏福建浙江天津广东为第二类,其余为第三类。

df.id<-cutree(df.hc,k=3)
df.id

df.id[1] 1 2 3 3 3 3 3 3 1 2 2 3 2 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3

得到了31个样本具体的分类数据。

四、使用模糊聚类的方法进行聚类分析

row.names(df)<-df[,1]

df<-df[,-1]

library(cluster)
fy<-fanny(df,3)

运行得到:

 summary(fy)
Fuzzy Clustering object of class 'fanny' :                      
m.ship.expon.        2
objective     15896.27
tolerance        1e-15
iterations          49
converged            1
maxit              500
n                   31
Membership coefficients (in %, rounded):[,1] [,2] [,3]
北京     51   25   25
天津     65   17   17
河北     10   45   45
山西     14   43   43
内蒙古   13   44   44
辽宁     24   38   38
吉林      9   46   46
黑龙江    9   45   45
上海     49   25   25
江苏     54   23   23
浙江     69   16   16
安徽      8   46   46
福建     58   21   21
江西      9   46   46
山东     10   45   45
河南      9   45   45
湖北      8   46   46
湖南     13   43   43
广东     67   16   16
广西     10   45   45
海南     17   41   41
重庆     11   45   45
四川     13   44   44
贵州      7   46   46
云南      7   46   46
西藏     27   36   36
陕西      7   46   46
甘肃      5   47   47
青海      7   47   47
宁夏     14   43   43
新疆      8   46   46
Fuzzyness coefficients:
dunn_coeff normalized 0.4172668  0.1259002 Membership coefficients (in %, rounded):运行得到了模糊矩阵的系数,也就是各样品的分类系数,那么如果该样本在这三个类中的某类系数最大,该样本就属于该类。
Closest hard clustering:为按照分类系数在各类取值的大小得到的聚类结果。很明显该聚类结果和系统聚类法得到的结果存在显著差异。
plot(fy)
运行得到:
1、样本的主成分分类图
31个样本在两个主成分得分绘制在直角坐标系中所描述的点,每个样本在图中用不同的标记标出,每一类都被框起来。从图中可以看到第一类7个样本为最右上角的图形和第二类三类可以明显区分,第二类和第三类不能明显区分。

2、样本的侧影图,从下图侧影图中可以直观的看出各类包含哪些样本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/732441.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Publii和GitHub:搭建个人网站的完美组合

在数字时代&#xff0c;拥有一个个人网站已经非常普遍了&#xff0c;但是&#xff0c;很多人因为技术难题而望而却步。现在&#xff0c;有了Publii&#xff0c;这一切都将变得简单。Publii是一个静态网站生成器&#xff0c;它允许你在本地计算机上创建和管理内容&#xff0c;然…

ARM中汇编语言的学习(加法、乘法、除法、左移、右移、按位与等多种命令操作实例以及ARM的 N、Z、C、V 标志位的解释)

汇编概述 汇编需要学习的大致框架如下&#xff1a; 汇编中的符号 1.指令&#xff1b;能够北嘁肷梢惶?2bit机器码&#xff0c;并且能够被cpui识别和执行 2.伪指令&#xff1a;本身不是指令&#xff0c;编译器可以将其替换成若干条指令 3.伪操作&#xff1a;不会生成指令…

如何修复advapi32.dll丢失无法启动程序的问题

如果你在运行Windows程序时遇到了“advapi32.dll丢失无法启动程序”的错误消息&#xff0c;那么这意味着你的计算机缺少这个DLL文件。在本文中&#xff0c;我们将提供一些解决方案&#xff0c;帮助你解决这个问题并恢复计算机的正常运行。 一.advapi32.dll丢失电脑的提示 关于…

软件项目试运行方案

一、 试运行目的 &#xff08;一&#xff09; 系统功能、性能与稳定性考核 &#xff08;二&#xff09; 系统在各种环境和工况条件下的工作稳定性和可靠性 &#xff08;三&#xff09; 检验系统实际应用效果和应用功能的完善 &#xff08;四&#xff09; 健全系统运行管理体制&…

宏碁掠夺者:4K144Hz显示器,让你爽翻天

大家好&#xff0c;我又来了。 买了PS5后&#xff0c;我发现这样的主机放在客厅里可玩性不太高&#xff08;我没机会玩&#xff09;。 毕竟家里还有今年要上小学的孩子。 每天回家打卡交作业都让我发疯。 客厅里放一台PS5无疑是每天对孩子最大的影响&#xff08;也划破了我的心…

vue 下载的插件从哪里上传?npm发布插件详细记录

文章参考&#xff1a; 参考文章一&#xff1a; 封装vue插件并发布到npm详细步骤_vue-cli 封装插件-CSDN博客 参考文章二&#xff1a; npm发布vue插件步骤、组件、package、adduser、publish、getElementsByClassName、important、export、default、target、dest_export default…

智能驾驶规划控制理论学习08-自动驾驶控制模块(轨迹跟踪)

目录 一、基于几何的轨迹跟踪方法 1、基本思想 2、纯追踪 3、Stanly Method 二、PID控制器 三、LQR&#xff08;Linear Quadratic Regulator&#xff09; 1、基本思想 2、LQR解法 3、案例学习 基于LQR的路径跟踪 基于LQR的速度跟踪 4、MPC&#xff08;Mode…

day59 线程

创建线程的第二种方式 实现接口Runnable 重写run方法 创建线程的第三种方式 java.util.concurrent下的Callable重写call()方法 java.util.concurrent.FutureTask 创建线程类对象 获取返回值 线程的四种生命周期 线程的优先级1-10 default为5&#xff0c;优先级越高&#xff0c…

基于梯度统计学的渐变型亮缝识别算法

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 一、场景痛点 在图像处理相关的实际工程中&#xff0c;会出现各式各样的现实复杂问题&#xff0c;有的是因为机械设计导致&#x…

【洛谷 P8668】[蓝桥杯 2018 省 B] 螺旋折线 题解(数学+平面几何)

[蓝桥杯 2018 省 B] 螺旋折线 题目描述 如图所示的螺旋折线经过平面上所有整点恰好一次。 对于整点 ( X , Y ) (X, Y) (X,Y)&#xff0c;我们定义它到原点的距离 dis ( X , Y ) \text{dis}(X, Y) dis(X,Y) 是从原点到 ( X , Y ) (X, Y) (X,Y) 的螺旋折线段的长度。 例如 …

蓝桥杯练习系统(算法训练)ALGO-981 过河马

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 在那个过河卒逃过了马的控制以超级超级多的走法走到了终点之后&#xff0c;这匹马表示它不开心了……   于是&#xff0c…

Java教程:RabbitMq讲解与SpringBoot项目如何对接RabbitMq实现生产者与消费者

在往期文章中&#xff0c;我们讲了如何在Windows与Linux环境下安装RabbitMq服务&#xff0c;并访问Web管理端。 有很多同学其实并不知道RabbitMq是用来干嘛的&#xff0c;它起到一个什么作用&#xff0c;并且如何在常见的SpringBoot项目中集成mq并实现消息收发&#xff0c;本章…

Nginx实现高并发

注&#xff1a;文章是4年前在自己网站上写的&#xff0c;迁移过来了。现在看我之前写的这篇文章&#xff0c;描述得不是特别详细&#xff0c;但描述了Nginx的整体架构思想。如果对Nginx玩得透得或者想了解深入的&#xff0c;可以在网上找找其他的文章。 ......................…

day17_订单(结算,提交订单,支付页,立即购买,我的订单)

文章目录 订单模块1 结算1.1 需求说明1.2 获取用户地址1.2.1 UserAddress1.2.2 UserAddressController1.2.3 UserAddressService1.2.4 UserAddressMapper1.2.5 UserAddressMapper.xml 1.3 获取购物项数据1.3.1 CartController1.3.2 CartService1.3.3 openFeign接口定义 1.4 环境…

NIFI从Oracle11G同步数据到Mysql_亲测可用_解决数据重复_数据跟源表不一致的问题---大数据之Nifi工作笔记0065

首先来看一下整体的流程: 可以看到了用到了上面的这些处理器,然后我们主要看看,这里之前 同步的时候,总是出现重复的数据,奇怪. 比如源表中只有166条数据,但是同步过去以后变成了11万条数据了. ${db.table.name:equals(table1):or(${db.table.name:equals(table2)})} 可以看…

【精选好刊】JCR2区SCI仅17天上线见刊,最后10篇版面!

录用案例 JCR2区地质环境类SCI&EI (进展顺) 【期刊简介】IF&#xff1a;3.0-4.0&#xff0c;JCR2区&#xff0c;中科院3/4区&#xff1b; 【检索情况】SCI&EI双检&#xff1b; 【征稿领域】地球观测、环境监测和管理相关或结合研究均可&#xff1b; 【案例分享】重…

前端面试练习24.3.8

防抖和节流 防抖&#xff08;Debouncing&#xff09;&#xff1a; 防抖是指在短时间内连续触发同一事件时&#xff0c;只执行最后一次触发的事件处理函数。 在实际应用中&#xff0c;常常用于处理用户输入的搜索框或者滚动事件。例如&#xff0c;当用户连续输入搜索关键词时&am…

业务代码中如何使用装饰器模式?

装饰器模式&#xff08;Decorator Pattern&#xff09;介绍 装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;我们可以动态地给一个对象添加额外的职责。而不是通过继承增加子类的方式来扩展对象的功能&#xff0c;装饰器模式使用组合的…

[N1CTF 2018]eating_cms 不会编程的崽

题倒是不难&#xff0c;但是实在是恶心到了。 上来就是登录框&#xff0c;页面源代码也没什么特别的。寻思抓包看一下&#xff0c;数据包直接返回了sql查询语句。到以为是sql注入的题目&#xff0c;直到我看到了单引号被转义。。。挺抽象&#xff0c;似乎sql语句过滤很严格。又…

Java基础知识点之思维导图

一、走进Java编程世界 二、变量常量和运算符 三、if选择结构 四、switch选择结构 五、while循环结构 六、for循环结构 七、数组 八、类与对象 九、深入循环结构 十、类的无参方法 十一、类的带参方法 十二、字符串