下表给出了2017年全国113个环保重点城市空气质量年度数据(资料来源:中华人们共和国国家统计局)。它们分别为:二氧化硫平均浓度(微克每立方米,),二氧化氮平均浓度(微克每立方米,);可吸入颗粒物(PM10)年平均浓度(微克每立方米,);一氧化氮日均值第95百分位浓度(毫克每立方米,);臭氧(O3)日最大八小时第90百分位浓度(微克每立方米,);细颗粒物(PM2.5)年平均浓度(微克每立方米,);空气质量达到极好于二级的天数(天,)。
表格过长,这里只显示部分
K均值聚类法是一种快速动态聚类方法,它改进了系统聚类每一步都要计算类间距离,计算比较浪费时间的缺点。其基本思想是,根据给定的参数k,先把n个对象粗略的分为k类,然后按照某种最优准则(通常为一个准则函数)修改不合理的分类,知道准则函数收敛为止,就得到了一个最终的分类结果。
下面根据这个数据对这113个城市进行K均值聚类分析(我们设置聚类数为4) ,R程序如下:
ex4.3<-read.csv("ex4.3.csv",header = T)
d4.3=ex4.3[,-1] #ex4.3.csv的第一列为城市名称,先去掉
rownames(d4.3)=ex4.3[,1] #用ex4.3的第一列为d4.3的行重新命名
KM<-kmeans(d4.3,4,nstart = 20,algorithm = "Hartigan-Wong") #聚类个数为4
#初始随机集合个数为20,算法为"Hartigan-Wong"默认
#其他备选算法为"Lloyd","Forgy","MacQueen"
KM
运行结果如下:
其中,size表示各类的个数,113个城市被聚成大小为38、28、22、25的四个类;means表示各类的均值,Clustering vector表示按照地区原顺序聚类后的分类情况及类间平方和在总平方和的占比(这里为85.1%,越大越好)。
对分类结果进行排序并且查看分类情况:
按照排序后的分类结果,113个地区被分为四类:
第一类:秦皇岛 大同 包头 大连 鞍山 抚顺 长春 吉林 哈尔滨 上海 南京
苏州 南通 连云港 杭州 宁波 绍兴 南昌 九江 青岛 烟台 日照 武汉 宜昌 荆州 长沙 株洲 湘潭 岳阳 常德 广州 重庆 泸州 绵阳 南充 宜宾 延安 西宁
第二类:石家庄 唐山 邯郸 保定 太原 阳泉 长治 临汾 徐州 济南 淄博 枣庄 泰安 郑州 开封 洛阳 平顶山 安阳 焦作 西安 咸阳 渭南
第三类: 北京 天津 呼和浩特 沈阳 锦州 无锡 常州 扬州 镇江 湖州 合肥 芜湖 马鞍山 潍坊 济宁 三门峡 成都 自贡 德阳 铜川 宝鸡 兰州 银川 石嘴山 乌鲁木齐
第四类:赤峰 本溪 齐齐哈尔 牡丹江 温州 福州 厦门 泉州 张家界 韶关 深圳 珠海 汕头 湛江 南宁 柳州 桂林 北海 海口 攀枝花 贵阳 遵义 昆明 曲靖 玉溪 拉萨 金昌 克拉玛依
附录
ex4.3<-read.csv("ex4.3.csv",header = T)
d4.3=ex4.3[,-1] #ex4.3.csv的第一列为城市名称,先去掉
rownames(d4.3)=ex4.3[,1] #用ex4.3的第一列为d4.3的行重新命名
KM<-kmeans(d4.3,4,nstart = 20,algorithm = "Hartigan-Wong") #聚类个数为4
#初始随机集合个数为20,算法为"Hartigan-Wong"默认
#其他备选算法为"Lloyd","Forgy","MacQueen"
KM
sort(KM$cluster) #对分类结果进行排序并且查看分类情况
数据
x1 x2 x3 x4 x5 x6 x7
北京 8 46 84 2.1 193 58 226
天津 16 50 94 2.8 192 62 209
石家庄 33 54 154 3.6 201 86 151
唐山 40 59 119 3.8 205 66 205
秦皇岛 26 49 82 2.9 170 44 268
邯郸 36 51 154 3.4 195 86 142
保定 29 50 135 3.6 218 84 159
太原 54 54 131 2.5 185 65 176
大同 44 32 73 3 154 36 301
阳泉 49 48 116 2.5 198 61 193
长治 43 41 103 3.1 188 60 195
临汾 79 37 122 4.1 214 79 128
呼和浩特 29 45 95 2.8 167 43 255
包头 28 42 93 2.7 159 44 277
赤峰 23 20 70 2.3 133 34 318
沈阳 37 40 85 1.9 166 50 256
大连 17 28 58 1.4 163 34 300
鞍山 30 36 85 2.4 158 48 263
抚顺 24 34 81 1.7 144 47 275
本溪 27 31 71 2.3 116 40 318
锦州 45 38 78 2 172 48 255
长春 26 40 78 1.9 142 46 276
吉林 18 29 79 1.8 147 52 259
哈尔滨 25 44 84 2 133 58 271
齐齐哈尔 22 22 65 1.5 112 38 319
牡丹江 10 26 65 1.3 105 36 329
上海 12 44 55 1.2 181 39 275
南京 16 47 76 1.5 179 40 264
无锡 13 46 77 1.6 184 44 247
徐州 22 44 119 1.7 187 66 176
常州 18 45 76 1.5 184 48 249
苏州 14 48 64 1.4 173 42 261
南通 21 38 64 1.4 179 39 266
连云港 18 33 73 1.5 153 45 289
扬州 18 40 93 1.4 192 54 228
镇江 15 43 88 1.2 182 55 232
杭州 11 45 72 1.3 173 45 271
宁波 10 38 60 1.1 158 37 311
温州 12 41 65 1 145 38 329
湖州 15 38 64 1.3 187 42 250
绍兴 12 35 70 1.2 170 45 275
合肥 12 52 80 1.4 170 56 224
芜湖 15 49 82 1.6 177 49 249
马鞍山 17 39 83 1.8 188 50 238
福州 6 29 51 0.9 141 27 349
厦门 11 32 48 0.8 117 27 362
泉州 12 28 53 0.9 148 28 345
南昌 15 37 76 1.6 148 41 300
九江 20 29 70 1.2 148 48 287
济南 25 48 128 2.1 193 65 181
青岛 15 38 78 1.3 166 39 283
淄博 41 47 120 2.8 194 65 188
枣庄 30 28 125 1.4 175 63 192
烟台 18 33 68 1.6 163 35 294
潍坊 25 35 116 1.8 186 59 210
济宁 26 41 106 1.9 200 56 217
泰安 25 39 97 1.9 213 58 197
日照 15 37 85 1.4 158 47 273
郑州 21 54 118 2.2 199 66 166
开封 20 39 103 2.2 182 62 188
洛阳 25 42 117 2.4 204 69 166
平顶山 24 40 106 2.1 180 63 185
安阳 31 50 132 4.1 210 79 154
焦作 25 44 125 3.1 208 73 168
三门峡 22 41 98 2.1 181 57 217
武汉 10 50 85 1.6 151 52 255
宜昌 12 35 88 1.7 137 58 258
荆州 18 36 92 1.7 140 56 273
长沙 13 40 69 1.3 153 52 262
株洲 19 36 81 1.4 142 52 272
湘潭 20 37 80 1.3 142 51 267
岳阳 14 25 70 1.4 142 49 305
常德 12 22 77 1.8 147 54 275
张家界 8 22 67 1.9 129 42 324
广州 12 52 56 1.2 162 35 294
韶关 17 29 52 1.4 152 38 326
深圳 8 30 45 1 147 28 343
珠海 7 32 43 1 160 30 322
汕头 12 21 49 1.1 140 29 353
湛江 10 15 42 1.1 153 29 327
南宁 11 35 56 1.4 119 35 337
柳州 19 26 66 1.5 127 45 308
桂林 15 25 60 1.3 139 44 308
北海 9 13 45 1.4 138 28 336
海口 6 12 37 0.8 127 20 352
重庆 12 46 72 1.4 163 45 277
成都 11 53 88 1.7 171 56 235
自贡 15 37 89 1.6 150 66 227
攀枝花 35 36 67 2.7 119 34 359
泸州 17 35 80 1 147 53 273
德阳 9 30 84 1.3 166 51 247
绵阳 9 32 71 1.4 134 48 295
南充 12 34 72 1.3 150 46 289
宜宾 18 34 80 1.7 146 57 261
贵阳 13 27 53 1.1 121 32 347
遵义 12 28 54 1.1 109 33 344
昆明 15 32 58 1.2 124 28 360
曲靖 18 23 54 1.4 126 28 357
玉溪 16 22 47 1.9 125 23 362
拉萨 8 23 54 1.1 128 20 361
西安 19 59 126 2.8 185 73 180
铜川 20 35 91 2.2 165 52 242
宝鸡 12 41 102 2.1 155 58 247
咸阳 21 54 132 2.4 201 79 154
渭南 18 56 129 2.3 183 70 165
延安 32 52 90 3 146 42 313
兰州 20 57 111 2.8 161 49 232
金昌 27 16 74 1 138 24 322
西宁 24 40 83 2.8 136 34 294
银川 48 42 106 2.5 169 48 232
石嘴山 55 32 97 2 162 43 243
乌鲁木齐 13 49 105 3.4 122 70 241
克拉玛依 8 23 69 1.6 131 34 318