Learn R Programming

dendextend (version 1.18.1)

highlight_distinct_edges: Highlight distint edges in a tree (compared to another one)

Description

Highlight distint edges in a tree (compared to another one) by changing the branches' color, line width, or line type.

This function enables this feature in dend_diff and tanglegram

Usage

highlight_distinct_edges(dend, ...)

# S3 method for dendrogram highlight_distinct_edges( dend, dend2, value = 2, edgePar = c("col", "lty", "lwd"), ... )

# S3 method for dendlist highlight_distinct_edges(dend, ..., which = c(1L, 2L))

Value

A dendrogram with modified edges - the distinct ones are changed (color, line width, or line type)

Arguments

dend

a dendrogram or dendlist to find unique edges in (to highlight)

...

Ignored.

dend2

a dendrogram to compare with

value

a new value scalar for the edgePar attribute.

edgePar

a character indicating the value inside edgePar to adjust. Can be either "col", "lty", or "lwd".

which

an integer vector indicating, in the case "dend" is a dendlist, on which of the trees should the modification be performed. If missing - the change will be performed on all of objects in the dendlist.

See Also

distinct_edges, highlight_distinct_edges, dist.dendlist, tanglegram assign_values_to_branches_edgePar, distinct.edges,

Examples

Run this code

x <- 1:5 %>%
  dist() %>%
  hclust() %>%
  as.dendrogram()
y <- set(x, "labels", 5:1)
distinct_edges(x, y)
distinct_edges(y, x)

par(mfrow = c(1, 2))
plot(highlight_distinct_edges(x, y))
plot(y)

# tanglegram(highlight_distinct_edges(x, y),y)
# dend_diff(x, y)
if (FALSE) {

# using  highlight_distinct_edges combined with dendlist and set
# to clearly highlight "stable" branches.
data(iris)
ss <- c(1:5, 51:55, 101:105)
iris1 <- iris[ss, -5] %>%
  dist() %>%
  hclust(method = "single") %>%
  as.dendrogram()
iris2 <- iris[ss, -5] %>%
  dist() %>%
  hclust(method = "complete") %>%
  as.dendrogram()
iris12 <- dendlist(iris1, iris2) %>%
  set("branches_k_color", k = 3) %>%
  set("branches_lwd", 3) %>%
  highlight_distinct_edges(value = 1, edgePar = "lwd")
iris12 %>%
  untangle(method = "step2side") %>%
  tanglegram(
    sub = "Iris dataset", main_left = "'single' clustering",
    main_right = "'complete' clustering"
  )
}

Run the code above in your browser using DataLab