R hclust: общий порядок для нескольких деревьев - PullRequest
0 голосов
/ 21 сентября 2018

Я создаю деревья, используя hclust.У меня есть несколько расстояний, определенных в общем наборе.Я хочу найти, насколько это возможно, общий порядок набора для каждого расстояния без каких-либо пересекающихся ребер на графике.Например, я хотел бы, чтобы в этом примере слева от обоих деревьев находились от 1 до 5 листов.

x<-seq(1,10)
y<-c(1.3,2.4,3.6,4.9,5.2,6.9,7.9,8.7,9.6,10.1)
X<-hclust(dist(x))
Y<-hclust(dist(y))
par(mfrow=c(2,1))
plot(X)
plot(Y)

В общем, существует ли алгоритм для нахождения этого порядка, если он существует?Или, по крайней мере, найти один заказ для каждого расстояния, которое близко к другим?Я понимаю, что это можно сделать с помощью дендрограмм, используя порядок или сортировку, но я думаю, что эти деревья менее информативны.

Отображает как hclust

Отображает как дендрограммы1011 *

1 Ответ

0 голосов
/ 21 сентября 2018

Вы можете использовать функцию sort из библиотеки dendextend:

library(dendextend)

x<-seq(1,10)
y<-c(1.3,2.4,3.6,4.9,5.2,6.9,7.9,8.7,9.6,10.1)
X<-hclust(dist(x)) %>% as.dendrogram %>% sort %>% as.hclust
Y<-hclust(dist(y)) %>% as.dendrogram %>% sort %>% as.hclust
par(mfrow=c(2,1))
plot( X )
plot( Y )

Функция просто пытается отсортировать график по индексу каждого листа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...