我在用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)一般来说,如果存在这样的顺序,是否有一个算法来找到这个顺序?或者,至少为接近其他距离的每一段距离找到一个顺序?我知道这可以通过使用顺序或排序的树状图来完成,但我认为这些树的信息量较小。
发布于 2018-09-21 17:21:36
您可以使用来自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 )该函数只是尝试按每一叶的索引对图进行排序。
https://stackoverflow.com/questions/52446477
复制相似问题