# shuffle: Random rotation of trees In dendextend: Extending 'dendrogram' Functionality in R

## 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

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16``` ```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

`tanglegram`, `entanglement`, `rotate`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```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) ```