📅  最后修改于: 2023-12-03 15:04:58.587000             🧑  作者: Mango
层次聚类是一种常用的聚类分析方法,主要用于将数据集中的样本进行分组,使得同一组内个体之间的相似度尽可能大,不同组之间的相似度尽可能小。在R语言中,可以通过hclust()函数绘制层次聚类图。
首先,需要准备一个数据集,它应该包含每个个体的变量值。在这个数据集中,行应该对应于每个个体,列应该对应于每个变量。
使用dist()函数计算距离矩阵,这个函数将通过你选择的度量计算每个个体之间的距离。
使用hclust()函数对距离矩阵进行聚类并生成树状图。
使用plot()函数将生成的树状图绘制出来,并在图形上显示聚类结果。
以下代码演示了如何使用iris数据集进行层次聚类,并绘制出具有三个聚类群的层次聚类图:
# 加载数据集
data(iris)
# 删除species列
iris_data <- iris[, -5]
# 计算距离矩阵
iris_dist <- dist(iris_data)
# 进行聚类
iris_hclust <- hclust(iris_dist, method = "ward.D2")
# 绘制层次聚类图
plot(iris_hclust, cex = 0.6, hang = -1, main = "Iris Dataset")
rect.hclust(iris_hclust, k = 3, border = 2:4)
该代码将生成一个层次聚类图,其中包含叶子节点表示数据集的各行,节点的高度表示聚类的距离,不同颜色的矩形表示聚类群。