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

# S3 method for default
shuffle(dend, ...)

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

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

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

# S3 method for 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)