每R一点:层次聚类分析实例实战-dist、hclust、heatmap等(转)

聚类分析:对样品或指标进行分类的一种分析方法,依据样本和指标已知特性进行分类。本节主要介绍层次聚类分析,一共包括3个部分,每个部分包括一个具体实战例子。

1、常规聚类过程:

一、首先用dist()函数计算变量间距离
dist.r = dist(data, method=" ")
其中method包括6种方法,表示不同的距离测度:"euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowski"。相应的意义自行查找。

二、再用hclust()进行聚类
hc.r = hclust(dist.r, method = “ ”)
其中method包括7种方法,表示聚类的方法:"ward", "single", "complete","average", "mcquitty", "median" or "centroid"。相应的意义自行查找。

三、画图
plot(hc.r, hang = -1,labels=NULL) 或者plot(hc.r, hang = 0.1,labels=F)
hang 等于数值,表示标签与末端树杈之间的距离,
若是负数,则表示末端树杈长度是0,即标签对齐。
labels 表示标签,默认是NULL,表示变量原有名称。labels=F :表示不显示标签。

实例介绍:

特殊情况用法:

当用已知距离矩阵进行聚类时,即变量间的距离已经计算完,只是想用
已知的距离矩阵进行聚类。这时,需将距离矩阵转成dist类型。
然后再执行hclust()聚类和plot()画图。

# mydata作为距离矩阵,且为正方矩阵
mydata<-matrix(1:25,ncol=5);
class(mydata);

# 把mydata变成dist类型
mydist<-as.dist(mydata);
class(mydist);
[1] "dist"

myhc<-hclust(mydist,method="complete");
myhc;

Call:
hclust(d = mydist, method ="complete")

Cluster method   : complete
Number of objects: 5

plot(myhc,hang=0.1)

2、热图聚类过程:

一、首先用dist()函数计算变量间距离
dist.r = dist(data, method=" ")

二、用heatmap()函数进行热点图聚类
对于heatmap中具体参数,这里不做过多介绍,可在帮助文档中找说明。除此heatmap函数之外,gplots包中的heatmap.2()函数,也可以做热点图聚类。

其中参数不做过多描述。若有需求,请分享并回复:heatmap.2

即可得到答案。

实战例子:

require(graphics);
dist.r<-dist(USArrests,method="euclidean") # 方法:欧氏距离
dist.r

#聚类并画图
heatmap(as.matrix(dist.r))

3、多维标度和聚类的结果

MDS方法对距离矩阵进行降维,用不同的颜色来表示聚类的结果。
另一种聚类效果展示。

例子:

转自:http://mp.weixin.qq.com/s?__biz=MzA3NDUxMjYzMA==&mid=209248280&idx=2&sn=c0ec5d9a9b060654ffdaad3d6911a812#rd

时间: 2024-10-13 13:15:11

每R一点:层次聚类分析实例实战-dist、hclust、heatmap等(转)的相关文章

使用Pycluster包进行聚类分析实例

使用Pycluster包进行聚类分析实例 Esri 中国 卢萌     "方以类聚,物以群分,吉凶生矣" --周易·系辞上 人类在几千年前就认识到了所谓的聚类和分类,是用来认知和描述万事万物之间关系的主要方法.一个没读什么书小贩,也知道将不同色泽和品相的水果分开,可以卖不同的价格.所以不论是否受过高等教育,聚类和分类的思想都根深蒂固的在人类的思想中. 聚类是数据挖掘的主要手段之一,对于探索数据之间的规律有着重要的作用.但是很多想做数据分析的同学限于没有时间去写各种算法,只能停留在算法描

R语言 系统聚类分析1

#聚类分析是一类将数据所研究对象进行分类的统计方法,这一类方法的共同特点是:#事先不知道类别的个数与结构 据以进行分类的数据是对象之间的相似性 或差异性数据#将这些相似(相异)性数据看成是对象之间的距离远近的一种度量 将距离近的对象#归入一类 不同类之间的对象距离较远#聚类分析根据分类对象不同分为Q型聚类分析(指的是对样本进行聚类) 和R型聚类分析(指的是对变量进行聚类) #距离和相似系数#聚类分析是研究对样本或变量的聚类 变量可以分为两类1定量变量 通常指的是连续量#2 定性变量(有序变量+名

1、MySQL单双实例实战

########################################################################################### MySQL单实例实战 ########################################################################################### #单实例安装,上传mysql-5.5.32.tar.gz.cmake-2.8.8.tar.gz到opt目录下

【R统计】聚类分析

题目: 为了深入地了解我国人口的文化程度,利用1990年全国普查数据对全国30个省.直辖市.自治区进行聚类分析,分别选用了三个指标:(1)大学以上文化程度的人口占全部人口的比例(DXBZ):(2)初中文化程度的人口占全部人口的比例(CZBZ):(3)文盲半文盲人口占全部人口的比例(WMBZ)分别用来反映较高.中等.较低文化程度人口的状况.(1)计算样本的欧几里得距离,分别用最长距离法.均值法.重心法和ward法作聚类分析,并画出相应的谱系图,如果将所有样本分为4类,试写出个种方案的分类结果:(2

Python:层次聚类分析——基于基站定位数据商圈分析

<Python数据分析与挖掘实战>书中本章无原始数据,文中仅展示了聚类分析了各人群聚集区特征(商圈特征,做营销策划住宅区.CBD商场.办公楼这还用聚类分析吗,直接肉眼也能辨别吧,这就是所有的人流特征和规律?)也是没什么实际用处,而且数据源数据预处理过程才是挖掘重点吧,避重就轻. 记录学习一下两点 数据标准化方式(归一化.标准化.正规化) 聚类分析算法 归一化:无量纲化,提升模型的收敛速度.精度:需考虑标准化前后模型是否同解等价 正则化:一般是为解决模型过拟合问题,除降低特征维度外可选用的方法就

ORACLE 从一个实例迁移到另外一个实例实战记录

ORACLE跨schema的数据迁移 测试环境服务器不够,而同事需要新的oracle环境,把生产环境的数据拉一份过来搭建内部的系统跑:这个实例使用频率不高而且需要的资源不是很多,所以准备在原有的负载不高的oracle服务器上,重新开一个新的实例,这样可以节省数据库服务器资源. 1.DBCA建库 使用DBCA在linux上建立第二个oracle实例,具体搭建过程参考:http://blog.csdn.net/mchdba/article/details/51418063 2.从线上导出数据库 因为

每R一点:各种画地图,全是知识点,90%人不知道!(转)

R语言绘制地图,在数据分析中经常能够用到,并且会达到非常好的展示效果,本节以例子形式,介绍如何使用R语言工具,画出理想的地图. 本节例子在 R version 2.15.3版本下运行顺畅,其他版本待定. 代码如下:第一个小例子 #加载相应的包,并读入数据,最后画图. library(maptools); library(ggplot2); china_map<-readShapePoly("d://map//bou2_4p.shp", proj4string=CRS("

mysql数据库增量恢复多实例实战演示

mysql主从复制原理要点 1.异步方式同步 2.逻辑同步模式,多种模式,默认是通过sql语句执行 3.主库通过记录binlog实现对从库的同步,binlog记录数据库的更新语句 4.主库1个IO线程,从库由1个IO线程和一个sql线程来完成的 5.从库关键文件master.info,relay-log,relay-info功能 6.如果从库还想级联从库,需要打开bin-log和log-slave-updates参数 [[email protected] ~]# mysql -uroot -po

R语言数据挖掘实战系列(5)

R语言数据挖掘实战系列(5)--挖掘建模 一.分类与预测 分类和预测是预测问题的两种主要类型,分类主要是预测分类标号(离散属性),而预测主要是建立连续值函数模型,预测给定自变量对应的因变量的值. 1.实现过程 (1)分类 分类是构造一个分类模型,输入样本的属性值,输出对应的类别,将每个样本映射到预先定义好的类别.分类模型建立在已有类标记的数据集上,模型在已有样本上的准确率可以方便地计算,所以分类属于有监督的学习. (2)预测 预测是建立两种或两种以上变量间相互依赖的函数模型,然后进行预测或控制.