R: Random rotation of trees

shuffle {dendextend} | R Documentation

## Random rotation of trees

### Description

'shuffle' randomilly rotates ("shuffles") a tree, changing its presentation while preserving its topolgoy. 'shuffle' is based on rotate and through its methods can work for any of the major tree objects in R (dendrogram/hclust/phylo).

This function is useful in combination with tanglegram and entanglement.

### Usage

    shuffle(dend, ...)

    ## Default S3 method:
    shuffle(dend, ...)

    ## S3 method for class 'dendrogram'
    shuffle(dend, ...)

    ## S3 method for class 'dendlist'
    shuffle(dend, which, ...)

    ## S3 method for class 'hclust'
    shuffle(dend, ...)

    ## S3 method for class 'phylo'
    shuffle(dend, ...)

### Arguments

`dend` | a tree object (dendrogram/hclust/phylo)
`...` | Ignored.
`which` | an integer vector for indicating which of the trees in the dendlist object should be plotted default is missing, in which case all the dends in dendlist will be shuffled

### Details

'shuffle' is a function that randomilly rotates ("shuffles") a tree. a dendrogram leaves order (by means of rotation)

### Value

A randomlly rotated tree object

### See Also

`tanglegram`, `entanglement`, `rotate`

### Examples

    dend <- USArrests %>% dist %>% hclust %>% as.dendrogram
    set.seed(234238)
    dend2 <- shuffle(dend)

    tanglegram(dend, dend2, margin_inner=7)
    entanglement(dend, dend2) # 0.3983

    # although these ARE the SAME tree:
    tanglegram(sort(dend), sort(dend2), margin_inner=7)

[Package dendextend version 1.8.0 Index]