Description Usage Arguments Details Value Examples
Modify nodes in a dendrogram
1 |
dend |
A dendrogram. |
fun |
A self-defined function. |
if fun
only has one argument, it is basically the same as dendrapply
,
but it can have a second argument which is the index of the node in the dendrogram,
which makes it possible to get information of child nodes and parent nodes for
a specific node.
As an example, we first assign random values to every node in the dendrogram:
1 2 3 |
Then for every node, we take the maximal absolute difference to all its child nodes
and parent node as the attribute abs_diff
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | dend = edit_node(dend, function(d, index) {
n = length(index)
s = attr(d, "score")
if(is.null(index)) { # d is the top node
s_children = sapply(d, function(x) attr(x, "score"))
s_parent = NULL
} else if(is.leaf(d)) { # d is the leaf
s_children = NULL
s_parent = attr(dend[[index[-n]]], "score")
} else {
s_children = sapply(d, function(x) attr(x, "score"))
s_parent = attr(dend[[index[-n]]], "score")
}
abs_diff = max(abs(s - c(s_children, s_parent)))
attr(d, "abs_diff") = abs_diff
return(d)
})
|
A dendrogram object.
1 2 | # There is no example
NULL
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.