设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1084|回复: 0

[R] R语言实现层次聚类分析案例

[复制链接]

236

主题

3879

金钱

7173

积分

高级用户

发表于 2016-10-9 13:51:46 | 显示全部楼层 |阅读模式
R语言实现层次聚类分析案例
聚类分析,对样品或指标进行分类的一种分析方法,依据样本和指标已知特性进行分类。
本节主要介绍R语言层次聚类分析,一共包括3个部分,每个部分包括一个具体实战例子。
一、常规聚类过程
1、首先用dist()函数计算变量间距离
dist.r = dist(data, method=” “)
其中method包括6种方法,表示不同的距离测度:”euclidean”, “maximum”, “manhattan”, “canberra”, “binary” or “minkowski”。相应的意义自行查找。
2、再用hclust()进行聚类
hc.r = hclust(dist.r, method = “ ”)
其中method包括7种方法,表示聚类的方法:”ward”, “single”, “complete”,”average”, “mcquitty”, “median” or “centroid”。相应的意义自行查找。
3、画图
plot(hc.r, hang = -1,labels=NULL) 或者plot(hc.r, hang = 0.1,labels=F)
hang 等于数值,表示标签与末端树杈之间的距离,
若是负数,则表示末端树杈长度是0,即标签对齐。
labels 表示标签,默认是NULL,表示变量原有名称。labels=F :表示不显示标签。
实例介绍:

特殊情况用法:
当用已知距离矩阵进行聚类时,即变量间的距离已经计算完,只是想用
已知的距离矩阵进行聚类。这时,需将距离矩阵转成dist类型。
然后再执行hclust()聚类和plot()画图。
二、热图聚类过程
1、首先用dist()函数计算变量间距离
dist.r = dist(data, method=” “)
2、用heatmap()函数进行热点图聚类
对于heatmap中具体参数,这里不做过多介绍,可在帮助文档中找说明。除此heatmap函数之外,gplots包中的heatmap.2()函数,也可以做热点图聚类。
其中参数不做过多描述。若有需求,请分享并回复:heatmap.2
即可得到答案。
实战例子:
#聚类并画图
三、多维标度和聚类的结果
MDS方法对距离矩阵进行降维,用不同的颜色来表示聚类的结果。
另一种聚类效果展示。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表