R: untangle dendrograms

untangle {dendextend} | R Documentation

## untangle dendrograms

### Description

One untangle function to rule them all.

This function untangles dendrogram lists (dendlist), Using various heuristics.

### Usage

    untangle(dend1, ...)

    ## Default S3 method:
    untangle(dend1, ...)

    untangle_labels(dend1, dend2, ...)

    ## S3 method for class 'dendrogram'
    untangle(dend1, dend2, method = c("labels", "ladderize",
      "random", "step1side", "step2side", "DendSer"), ...)

    ## S3 method for class 'dendlist'
    untangle(dend1, method = c("labels", "ladderize", "random",
      "step1side", "step2side", "DendSer"), which = c(1L, 2L), ...)

### Arguments

`dend1` | a dednrogram or a dendlist object
`...` | passed to the releavnt untangle function
`dend2` | A second dednrogram (to untangle against)
`method` | a character indicating the type of untangle heuristic to use.
`which` | an integer vector of length 2, indicating which of the trees in the dendlist object should be plotted

### Details

This function wraps all of the untagnle functions, in order to make it easier to find our about (and use) them.

### Value

A dendlist, with two trees after they have been untangled.

If the dendlist was originally larger than 2, it will return the original dendlist but with the relevant trees properly rotate.

### Author(s)

Tal Galili

### See Also

tanglegram, untangle_random_search, untangle_step_rotate_1side, untangle_step_rotate_2side, untangle_DendSer, entanglement

### Examples

    ## Not run:
    set.seed(23235)
    ss <- sample(1:150, 10 )
    dend1 <- iris[ss,-5] %>% dist %>% hclust("com") %>% as.dendrogram
    dend2 <- iris[ss,-5] %>% dist %>% hclust("sin") %>% as.dendrogram
    dend12 <- dendlist(dend1, dend2)

    dend12 %>% tanglegram

    untangle(dend1, dend2, method="random", R = 5) %>% tanglegram

    # it works, and we get something different:
    set.seed(1234)
    dend12 %>% untangle(method="random", R = 5) %>% tanglegram

    set.seed(1234)
    # fixes it completely:
    dend12 %>% untangle(method="random", R = 5) %>% untangle(method="step1") %>% tanglegram
    # not good enough
    dend12 %>% untangle(method="step1") %>% tanglegram
    # not good enough
    dend12 %>% untangle(method="step2") %>% tanglegram
    # How we might wish to use it:
    set.seed(12777)
    dend12 %>%
       untangle(method="random", R = 1) %>%
       untangle(method="step2") %>%
       tanglegram

    ## End(Not run)

[Package dendextend version 1.8.0 Index]