order.dendrogram<- assignment operator. This is useful in cases where some object is turned into a dendrogram but its leaves values (the order) are all mixed up.
order.dendrogram(object, ...) <- value
dendrogram with updated order leaves values
order.dendrogram
, labels<-
################
# Example for using the assignment with dendrogram and hclust objects:
hc <- hclust(dist(USArrests[1:4, ]), "ave")
dend <- as.dendrogram(hc)
str(dend)
#> --[dendrogram w/ 2 branches and 4 members at h = 77.7]
#> |--leaf "Arkansas"
#> `--[dendrogram w/ 2 branches and 3 members at h = 54.8]
#> |--leaf "Arizona"
#> `--[dendrogram w/ 2 branches and 2 members at h = 37.2]
#> |--leaf "Alabama"
#> `--leaf "Alaska"
order.dendrogram(dend) # 4 3 1 2
#> [1] 4 3 1 2
order.dendrogram(dend) <- 1:4
order.dendrogram(dend) # 1 2 3 4
#> [1] 1 2 3 4
str(dend) # the structure is still fine.
#> --[dendrogram w/ 2 branches and 4 members at h = 77.7]
#> |--leaf "Arkansas"
#> `--[dendrogram w/ 2 branches and 3 members at h = 54.8]
#> |--leaf "Arizona"
#> `--[dendrogram w/ 2 branches and 2 members at h = 37.2]
#> |--leaf "Alabama"
#> `--leaf "Alaska"
# This function is very useful if we try playing with subtrees
# For example:
hc <- hclust(dist(USArrests[1:6, ]), "ave")
dend <- as.dendrogram(hc)
sub_dend <- dend[[1]]
order.dendrogram(sub_dend) # 4 6
#> [1] 4 6
# now using as.hclust(sub_dend) will cause trouble:
# labels(as.hclust(sub_dend)) # As of R 3.1.1-patched - this will produce an Error (as it should) :)
# let's fix it:
order.dendrogram(sub_dend) <- rank(order.dendrogram(sub_dend), ties.method = "first")
labels(as.hclust(sub_dend)) # We now have labels :)
#> [1] "Arkansas" "Colorado"