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

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

Value

A randomlly rotated tree object

Details

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

Examples

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

tanglegram(dend, dend2, margin_inner = 7)

entanglement(dend, dend2) # 0.3983
#> [1] 0.7746979

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