Я использую эту ссылку для создания красивой дендрограммы с цветными ярлыками в соответствии с категориями. Второй ответ, что я смотрю на в этой ссылке (Tree cut and Rectangles around clusters for a horizontal dendrogram in R), который использует код ниже:Вырезание кластера из dendrogram
d <- dist(t(mat[,3:ncol(mat)]), method = "euclidean")
H.fit <- hclust(d, method="ward")
groups <- cutree(H.fit, k=16) # cut tree into clusters
hcdata<- dendro_data(H.fit, type="rectangle")
hcdata$labels <- merge(x = hcdata$labels, y = pm_gtex_comb, by.x = "label", by.y = "sample",all=TRUE)
ggplot() +
geom_segment(data=segment(hcdata), aes(x=x, y=y, xend=xend, yend=yend)) +
geom_text(data=label(hcdata), aes(x, y, label=label, hjust=0, color=cluster),
size=3) +
geom_rect(data=rect, aes(xmin=X1-.3, xmax=X2+.3, ymin=0, ymax=ymax),
color="red", fill=NA)+
geom_hline(yintercept=0.33, color="blue")+
coord_flip() + scale_y_reverse(expand=c(0.2, 0)) +
theme_dendro()
Я хочу, чтобы вырезать некоторые из кластеров, как у меня есть 16 кластеров, 145 этикеток, так что я может просматривать только несколько кластеров, поскольку я хочу сфокусировать/вырезать/масштабировать только на пару из них. Есть ли способ сделать это на объекте hclust. Это только для хорошей визуализации, поскольку фигура становится беспорядочной с 145 ярлыками . Поскольку я хочу покрасить по этикеткам, я думаю, что ggdendro подходит довольно хорошо.
Например, в этой ссылке, если вы посмотрите на 3) Изменение масштаба изображения в на дендрограмм http://gastonsanchez.com/blog/how-to/2012/10/03/Dendrograms.html
Благодаря @lukeA, я хотел бы добавить, что dendextend приходит с интеграцией в ggplot2 (на основе фактически на ggdendro, но позволяет дендрограммы участков включать графические параметры, такие как цвет и ширину линии и тип). Здесь вы можете увидеть примеры: https://cran.r-project.org/web/packages/dendextend/vignettes/introduction.html#ggplot2-integration –
Спасибо @TalGalili - на самом деле я попробовал это Точно, но 'as.ggdend' выдал ошибку (« Ошибка в FUN (X [[i]], ...): индекс за пределами границ »), поэтому я вернулся к ggdendrogram. :) У меня нет последней версии, хотя ... – lukeA
Обрезка как-то не работает для меня. Результат остается таким же, как и обычный сюжет. – user45292