Скорректировать дендограмму, сделанную пакетом pvclust.

Я хотел бы улучшить свою дендрограмму, которую я сделал с помощью пакета pvclust. Я не вижу большинство ярлыков AU/BP, как вы можете видеть на изображении.

Не могли бы вы помочь мне решить это? Я хотел бы видеть все метки AU/BP для дендрограммы.

Ниже приведен исполняемый код.

Благодарю вас!

library(rdist)
library(pvclust)
library(geosphere)

df<-structure(list(Latitude = c(-23.8, -23.8, -23.9, -23.9, -23.9,  -23.9, -23.9, -23.9, -23.9, -23.9, -23.9, -23.9, -23.9, -23.9, 
+ -23.9, -23.9, -23.9, -23.9, -23.9), Longitude = c(-49.6, -49.6, -49.6, -49.6, -49.6, -49.6, -49.6, -49.6, -49.6, -49.6, -49.7, 
+ -49.7, -49.7, -49.7, -49.7, -49.6, -49.6, -49.6, -49.6), Waste = c(526, 350, 526, 469, 285, 175, 175, 350, 350, 175, 350, 175, 175, 364, 
+ 175, 175, 350, 45.5, 54.6)), class = "data.frame", row.names = c(NA, -19L))

coordinates<-subset(df,select=c("Latitude","Longitude")) 
d<-as.dist(distm(coordinates[,2:1]))
mat <- as.matrix(d)
mat <- t(mat)
fit <- pvclust(mat, method.hclust="average", method.dist="euclidean", 
               nboot=1000, r=seq(0.9,1.4,by=.1))
fit
plot(fit,hang=-1,cex=.8,main="Average Linkage Clustering")
pvrect(fit, alpha=.80, pv="au", type="geq")

введите здесь описание изображения

С учетом 325 местоположений

введите здесь описание изображения


person JSouza    schedule 15.12.2020    source источник


Ответы (1)


Самый простой способ — изменить размер окна графика и увеличить аргумент hang=:

x11(width=12, height=8) # quartz(width=12, height=8) for mac or windows(width=12, height=8) for Windows
plot(fit,hang=.05,cex=.8,main="Average Linkage Clustering")
pvrect(fit, alpha=.80, pv="au", type="geq")

Дендрограмма

Вот пример со 150 случаями (примерно половина от 325, которые у вас есть, но из набора данных, включенного в R):

data(iris)
mat <- t(as.matrix(iris[, 1:4]))
fit <- pvclust(mat, method.hclust="average", method.dist="euclidean",
               nboot=1000, r=seq(0.9,1.4,by=.1))

Теперь распечатайте результаты в pdf:

pdf(file="Dendrogram.pdf", width=13, height=7.5)
compression="lzw")
plot(fit,hang=.05, cex=.5, cex.pv=.5, main="Average Linkage Clustering")
pvrect(fit, alpha=.80, pv="au", type="geq")
dev.off()

Дендрограмма

В pdf разрешение лучше, но перекрытия в тексте меньше. Другой вариант - уменьшить маркировку:

plot(fit,hang=.05, cex=.5, cex.pv=.5, print.num=FALSE, print.pv=FALSE, 
     labels=FALSE, main="Average Linkage Clustering")
pvrect(fit, alpha=.80, pv="au", type="geq")

Это печатает только дендрограмму без какой-либо маркировки, поэтому вы можете видеть структуру, но не детали. В некоторых случаях данные представляют несколько групп. Данные iris включают три вида. Вы можете обозначить только виды, изменив на labels=rep(1:3, each=50), чтобы числа 1, 2, 3 обозначали три вида.

person dcarlson    schedule 15.12.2020
comment
Спасибо, drcarlson, вы ответили на мой вопрос. Я приму. Однако я сделал это так, как вы говорили с моими данными, то есть 325 вместо 19, как в примере, который вы сделали (я сделал 19 только для того, чтобы упростить выполнение). Это улучшило график, но есть ли способ улучшить его еще больше?? Я вставил изображение выше, чтобы вы видели, как это получилось. Если хотите, я могу передать вам базу данных с 325 местоположениями. - person JSouza; 15.12.2020
comment
С 325 локациями вы должны решить, что важно показать. Ваш компьютерный монитор настолько велик, а его разрешение ниже, чем у бумаги. Для более высокого разрешения вам необходимо печатать в файл, такой как .pdf или svg или .tiff. Затем вы можете уменьшить размер шрифта. Я добавлю пример выше, чтобы распечатать PDF-файл, чтобы он соответствовал размеру бумаги. Другой подход заключается в отображении меньшего количества информации. Варианты удаления текста с графика: print.num=FALSE, print.pv=FALSE и labels=FALSE. - person dcarlson; 16.12.2020
comment
Большое спасибо за ваш ответ. Мне очень понравился график, который вы сделали в PDF, я хорошо видел цифры. Я хотел сделать что-то похожее на то, что вы сделали. Тем не менее, я провел тест в своем случае, и он все еще выглядел не так хорошо. Я могу что-то упустить. Если это не неудобно, вы можете протестировать базу, которая находится по этой ссылке: github.com/JovaniSouza/JovaniSouza5/blob/master/database.xlsx Это база данных, которую я использую. Если вы согласны, при использовании функции pvclust используйте nboot = 5, потому что использование nboot = 1000 занимает слишком много времени. Еще раз спасибо. - person JSouza; 16.12.2020
comment
Попробуйте pdf(file="DendrogramANSI-D.pdf", width=32, height=20) # ANSI D 22 in. x 34 in. Это будет слишком большим для печати на большинстве принтеров, но вы можете увеличить изображение на экране компьютера и прочитать числа. - person dcarlson; 16.12.2020
comment
Еще раз спасибо dcarlson! Вы мне очень помогли. - person JSouza; 16.12.2020
comment
dcarlson, не могли бы вы взглянуть на следующий вопрос: r" title="интерпретировать результаты, полученные пакетом программного обеспечения pvclust r">stats.stackexchange.com/questions/507685/ - person JSouza; 02.02.2021