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)