Find which nodes satisfies a condition
Goes through a tree's nodes in order to return a vector with whether (TRUE/FALSE) each node satisies some condition (function)
noded_with_condition( dend, condition, include_leaves = TRUE, include_branches = TRUE, na.rm = FALSE, ... )
dend |
a dendrogram dend |
condition |
a function that gets a node and return TRUE or FALSE (based on whether or not that node/tree fulfills the "condition") |
include_leaves |
logical. Should leaves attributes be included as well? |
include_branches |
logical. Should non-leaf (branch node) attributes be included as well? |
na.rm |
logical. Should NA attributes be REMOVED from the resulting vector? |
... |
passed to the condition function |
A logical vector with TRUE/FALSE, specifying for each of the dendrogram's nodes if it fulfills the condition or not.
## Not run: library(dendextend) set.seed(23235) ss <- sample(1:150, 10) # Getting the dend dend dend <- iris[ss, -5] %>% dist() %>% hclust() %>% as.dendrogram() dend %>% plot() # this is the basis for branches_attr_by_labels has_any_labels <- function(sub_dend, the_labels) any(labels(sub_dend) %in% the_labels) cols <- noded_with_condition(dend, has_any_labels, the_labels = c("126", "109", "59") ) %>% ifelse(2, 1) set(dend, "branches_col", cols) %>% plot() # Similar to branches_attr_by_labels - but for heights! high_enough <- function(sub_dend, height) attr(sub_dend, "height") > height cols <- noded_with_condition(dend, high_enough, height = 1) %>% ifelse(2, 1) set(dend, "branches_col", cols) %>% plot() ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.