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方法对距离矩阵进行降维,用不同的颜色来表示聚类的结果。 另一种聚类效果展示。
|