sort_average_r: Sorting and reordering dendrogram nodes by average distances...

Description Usage Arguments Value Examples

View source: R/sort_average_r.R

Description

sort_average_r sorts a dendrogram object in reverse based on the average distance of its subtrees, recursively. The tighter cluster, in other words the cluster with smaller average distance, is placed on the right side of branch. When a leaf merge with a cluster, the leaf is placed on the left side.

Usage

1

Arguments

d

A dendrogram object.d

Value

output A sorted dendrogram object.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#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="")

dendsort documentation built on April 20, 2021, 5:05 p.m.