You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:55:37