【发布时间】:2012-11-09 02:33:27
【问题描述】:
我在 R 中有一个树状图,其中每片叶子都有一个值。我喜欢通过对其子节点的值求和来定义每个节点的值。我熟悉 dendrapply,但是我不知道如何在函数中访问节点的子节点以及如何递归地编写函数。
下面是开始的代码:
library("stats")
library("fastcluster")
library("cluster")
D = rbind( + c(1,1,1,1,1),
+ c(1,2,1,1,1),
+ c(2,2,2,2,2),
+ c(3,4,5,6,9)
)
dnd = as.dendrogram(hclust.vector(D))
apply_text <<- function(n) {
if (!is.leaf(n)) {
attr(n, "edgetext") <- add the value of the branches
}
if (is.leaf(n)) {
attr(n, "edgetext") <- 1
}
n
}
tmp <- dendrapply(dnd, apply_text)
plot(tmp)
【问题讨论】:
-
您应该添加您现在正在使用的代码,或者您知道所需代码的哪一部分。这将使人们更容易回答您的问题。
-
我认为您要求做两件事:1)向树状图添加信息。 2)将该信息显示在图中。我说的对吗?
标签: r dendrogram hierarchical-clustering