在 R 中使用 pvclust 更改标签树状图

Change label dendrogram with pvclust in R

我正在尝试按照 this 示例使用 pvclust 进行集群验证:

result <- pvclust(mydata, method.dist = "euclidean", method.hclust = "ward.D2", nboot = 1000)

这似乎工作正常。但是,如果我将结果可视化为:

plot(result)

我看不到 AU/BP 标签,因为它们被显示为树状图标签的 headers 列覆盖。

Image of Dendrogram

我尝试使用 dendextend 包来关闭标签,但我无法将它与 pvclust 输出结合使用(结果未显示)。有没有人有我可以使用的方法或包?也许有可能以某种方式放大和剪切图像?我也尝试了 RStudio 的放大功能,但我仍然无法正确看到 AU/BP 标签(参见上面的 Link)。

您可以使用 idendr0 包,它可以让您在图上缩放 in/out。

安装包使用:

install.packages("idendr0")

绘图:

idendr0(result)

您可以在本文档中找到更多示例:Idendr0 documentation

有趣的情况。有几种方法可以处理它。可能最简单的方法是缩写标签(您首先需要 dendextend 来轻松更新标签),并且您需要访问 pvclust 中的 hclust 对象。这是一种方法:

library(pvclust)
library(dendextend)

### example using Boston data in package MASS
data(Boston, package = "MASS")
## multiscale bootstrap resampling (non-parallel)
Boston_too_long_names <- Boston
names(Boston_too_long_names) <- paste0(names(Boston_too_long_names), "000000000000000000000000000000000000000000000")
boston_pv <- pvclust(Boston_too_long_names, nboot=5, parallel=FALSE)
par(mfrow = c(1,2))
plot(boston_pv)
labels(boston_pv$hclust) <- abbreviate(labels(boston_pv$hclust), 5, strict = TRUE)
plot(boston_pv)