dend_node_apply | R Documentation |
Apply functions on every node in a dendrogram
dend_node_apply(dend, fun)
dend |
A dendrogram. |
fun |
A self-defined function. |
The function returns a vector or a list as the same length as the number of nodes in the dendrogram.
The self-defined function can have one single argument which is the sub-dendrogram at a certain node. E.g. to get the number of members at every node:
dend_node_apply(dend, function(d) attr(d, "members"))
The self-defined function can have a second argument, which is the index of current sub-dendrogram in
the complete dendrogram. E.g. dend[[1]]
is the first child node of the complete dendrogram and
dend[[c(1, 2)]]
is the second child node of dend[[1]]
, et al. This makes that at a certain node,
it is possible to get information of its child nodes and parent nodes.
dend_node_apply(dend, function(d, index) { dend[[c(index, 1)]] # is the first child node of d, or simply d[[1]] dend[[index[-length(index)]]] # is the parent node of d ... })
Note for the top node, the value of index
is NULL
.
A vector or a list, depends on whether fun
returns a scalar or more complex values.
mat = matrix(rnorm(100), 10)
dend = as.dendrogram(hclust(dist(mat)))
# number of members on every node
dend_node_apply(dend, function(d) attr(d, "members"))
# the depth on every node
dend_node_apply(dend, function(d, index) length(index))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.