我try 使用iris
个数据集显示截止高度对聚类数的影响,并使用rect.dendrogram
可视化得到的聚类数.
if (!require("dendextend")) {install.packages("dendextend")} else {library("dendextend")}
data("iris", package = "datasets")
Data <- list()
Data$Lab <- as.character(iris[,5])
Data$dat <- prcomp(iris[,-5])$x[,1:2]
Data$dist <- dist(Data$dat, method = "euclidean")
Data$hist <- hclust(Data$dist, method = "complete")
# plot dendrogram
hcd <- as.dendrogram(Data$hist)
cluster.height <- 6
par(pty = "m",
mar = c(1,2,1.5,1),
mgp = c(1,0,0),
tck = 0.01,
cex.axis = 0.75,
font.main = 1)
plot(sort(hcd),
ylab = "Height",
leaflab = "none")
rect.dendrogram(sort(hcd),
h = cluster.height,
border = "black",
xpd = NA,
lower_rect = -0.1,
upper_rect = 0)
abline(h = cluster.height,
lty = 3)
dev.off()
使用高度值时,会出现两个矩形.
该函数搜索由中断创建的簇.
问题是,是否有办法只获得较大的矩形?
有没有我忽略的参数/选项,或者是rect.dendrogram
函数中的错误?