R: Reindexing a pruned dendrogram

reindex_dend {dendextend} | R Documentation

## Reindexing a pruned dendrogram

### Description

`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.

### Usage

    reindex_dend(dend)

### Arguments

`dend` | dendrogram object

### Value

A `dendrogram` object with the leaf reindexed

### Examples

    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

[Package dendextend version 1.8.0 Index]