当我在 R 中使用命令 hclust 绘制树状图时,我将 y 轴标记为高度。但是,我想用我的数据集中各组之间的相似度来标记这个轴,如下图所示。我怎样才能做到这一点?
这是一个最小的例子:
set.seed(1)
x = matrix(rnorm(1000), ncol=100)
d = dist(x, method="euclidean")
plot(hclust(d, method="complete"))
当我在 R 中使用命令 hclust 绘制树状图时,我将 y 轴标记为高度。但是,我想用我的数据集中各组之间的相似度来标记这个轴,如下图所示。我怎样才能做到这一点?
这是一个最小的例子:
set.seed(1)
x = matrix(rnorm(1000), ncol=100)
d = dist(x, method="euclidean")
plot(hclust(d, method="complete"))
从您的示例开始,但将集群结果保存为 hc:
set.seed(1)
x <- matrix(rnorm(1000), ncol=100)
d <- dist(x, method="euclidean")
hc <- hclust(d, method="complete")
hc$height
[1] 12.79157 13.05586 13.51490 13.54069 14.32658 14.45824 15.70899 16.44131
[9] 17.12514
距离范围从 12.8 到 17.1。为简单起见,我们使用 18-d 作为相似度度量。
plot(hc, hang=-1, ylab="Similarity", axes=FALSE)
axis(2, seq(0, 18, by=2), seq(18, 0, by=-2))