Reindexing a pruned dendrogram
prune_leaf
does not update leaf indices as it prune
leaves. As a result, some leaves of the pruned dendrogram may have leaf
indeices larger than the number of leaves in the pruned dendrogram, which may
cause errors in downstream functions such as as.hclust
.
This function re-indexes the leaves such that the leaf indices are no larger than the total number of leaves.
reindex_dend(dend)
dend |
dendrogram object |
A dendrogram
object with the leaf reindexed
hc <- hclust(dist(USArrests[1:5, ]), "ave") dend <- as.dendrogram(hc) dend_pruned <- prune(dend, c("Alaska", "California"), reindex_dend = FALSE) ## A leave have an index larger than the number of leaves: unlist(dend_pruned) # [1] 4 3 1 #' dend_pruned_reindexed <- reindex_dend(dend_pruned) ## All leaf indices are no larger than the number of leaves: unlist(dend_pruned_reindexed) # [1] 3 2 1 ## The dendrograms are equal: all.equal(dend_pruned, dend_pruned_reindexed) # TRUE
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.