Я собираю матрицу расстояний, основанную на данных столбца с размером столбцов 20 000 строк x 169, установленных в R, используя hclust(). Когда я конвертирую объект кластера в дендрограмму и рисую всю дендрограмму, ее трудно прочитать, потому что она настолько велика, даже если я вывожу ее в довольно большой pdf.R-график верхнего дендрограмма на основе k
df <- as.data.frame(matrix(abs(rnorm(3380000)), nrow = 20000))
mydist <- vegdist(df)
my.hc <- hclust(mydist, method = "average")
hcd <- as.dendrogram(my.hc)
pdf("hclust_plot.pdf", width = 40, height = 15)
plot(hcd)
dev.off()
Я хотел бы указать количество кластеров (К), при котором для усечения дендрограммы, затем участок только верхнюю часть дендрограммы выше точек к расщепленных. Я знаю, что я могу построить верхнюю часть, основываясь на задании высоты (h) с помощью функции cut().
pdf("hclust_plot2.pdf", width = 40, height = 15)
plot(cut(hcd, h = 0.99)$upper)
dev.off()
Я также знаю, что могу использовать пакет dendextend окрашивать дендрограммы участка с к группам.
library(dendextend)
pdf("hclust_plot3.pdf", width = 40, height = 15)
plot(color_branches(hcd, k = 44))
dev.off()
Но для моего набора данных эта дендрограмма слишком плотная, чтобы даже прочитать, какая группа является цветом. Есть ли способ построить только верхнюю часть дендрограммы над точкой разреза, указав k, а не h? Или есть способ получить значение h для дендрограммы, учитывая k?
Не вдаваясь слишком глубоко в это, данный проект может представлять интерес для Вас : https://github.com/thomasp85/ggraph – boshek
Это S O вопрос предлагает вам немного, и, кажется, ссылки на пакет dendenxtend: http://stackoverflow.com/questions/31124810/r-cut-dendrogram-into-groups-with-minimum-size – lawyeR