| sort_smallest {dendsort} | R Documentation |
sort_smallest sorts a dendrogram object based on
the smallest distance in its subtrees, recursively.
The cluster with the smallest distance is placed on the left
side of branch.When a leaf merge with a cluster, the leaf is
placed on the right side.
sort_smallest(d)
d |
A dendrogram object. |
output A sorted dendrogram object.
#generate sample data set.seed(1234); par(mar=c(0,0,0,0)) x <- rnorm(10, mean=rep(1:5, each=2), sd=0.4) y <- rnorm(10, mean=rep(c(1,2), each=5), sd=0.4) dataFrame <- data.frame(x=x, y=y, row.names=c(1:10)) #calculate Euclidian distance distxy <- dist(dataFrame) #hierachical clustering "complete" linkage by default hc <- hclust(distxy) #sort dendrogram dd <- dendsort(as.dendrogram(hc)) hc_sorted <- as.hclust(dd) #sort in reverse, you can also pass hclust object plot(dendsort(hc, isReverse=TRUE)) #sort by average distance plot(dendsort(hc, type="average")) #plot the result par(mfrow = c(1, 3), mai=c(0.8,0.8,2,0.8)) plot(x, y, col="gray", pch=19, cex=2) text(x, y, labels=as.character(1:10), cex=0.9) plot(hc,main="before sorting", xlab="", sub="") plot(hc_sorted, main="after sorting", xlab="", sub="")