如何利用R语言hclust函数的order参数提取聚类行名
嗨,我来帮你搞定这个问题!你已经用mtcars完成了层次聚类,拿到了树状图的排序索引hc$order,但想要的是树状图里显示的排序后车型标签对吧?其实操作超简单,直接用这个索引去匹配数据集的行名就可以啦。
完整操作步骤
1. 先生成聚类树状图对象(如果还没做的话)
先跑一遍基础的聚类代码,确保我们有可用的hc对象:
# 加载mtcars数据集 data(mtcars) # 计算距离矩阵并做层次聚类 hc <- hclust(dist(mtcars)) # 绘制树状图 plot(hc)
2. 提取树状图排序后的标签
hc$order返回的是排序后的行索引值,我们只需要用这个索引去提取mtcars的行名,就能得到树状图里从左到右(或从上到下)的标签顺序:
# 提取排序后的行名(也就是树状图的标签) sorted_car_names <- rownames(mtcars)[hc$order] # 打印查看结果 print(sorted_car_names)
3. 验证结果(可选)
如果想确认提取的标签和树状图完全对应,可以把提取的标签重新加到图上对比:
plot(hc) # 添加排序后的标签,cex参数调整字体大小 text(hc, labels = sorted_car_names, cex = 0.7)
这样你就能轻松拿到树状图里显示的排序后标签啦!
内容的提问来源于stack exchange,提问作者nic1592
相关产品推荐
相关产品推荐

