untangle dendrograms
One untangle function to rule them all.
This function untangles dendrogram lists (dendlist), Using various heuristics.
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), ... )
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 |
This function wraps all of the untagnle functions, in order to make it easier to find our about (and use) them.
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.
Tal Galili
## 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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.