【发布时间】:2018-08-26 10:40:12
【问题描述】:
我正在编写一个程序(作为它的一部分)自动从输入数据集创建树状图。 对于 每个 节点/拆分,我想提取 all 该节点下的标签 和 该节点在树状图上的位置(对于进一步的绘图目的)。 所以,假设我的数据如下所示:
> Ltrs <- data.frame("A" = c(3,1), "B" = c(1,1), "C" = c(2,4), "D" = c(6,6))
> dend <- as.dendrogram(hclust(dist(t(Ltrs))))
> plot(dend)
现在我可以提取分割/节点的位置:
> library(dendextend)
> nodes <- get_nodes_xy(dend)
> nodes <- nodes[nodes[,2] != 0, ]
> nodes
[,1] [,2]
[1,] 1.875 7.071068
[2,] 2.750 3.162278
[3,] 3.500 2.000000
现在我想为每个节点获取一个节点下的所有标签(/row 来自“nodes”变量)。
这应该看起来像这样:
$`1`
[1] "D" "C" "B" "A"
$`2`
[1] "C" "B" "A"
$`3 `
[1] "B" "A"
谁能帮帮我?在此先感谢:)
【问题讨论】:
-
我发现使用树状图结构非常令人困惑。使用
hclust对象和cutree可能会容易得多。你剪了例如循环不同的k选项以到达节点。
标签: r nodes labels dendrogram members