当应用于 R 中的树状图时,`merge` 实际上做了什么?
What does `merge` actually do when applied to dendrograms in R?
我很难理解 R
函数 merge
在合并两个树状图时的确切作用。
实际问题是:
节点(合并两棵树)的高度是如何得到的?
树状图通过不同的聚集方法构建的事实
也可以联合,这意味着该函数不使用任何 Lance-Williams 更新。
这也通过分裂任何树状图的根节点然后重建它来证实
通过merge
:最终的高度与原来的不一样:
# data to get the dissimilarity matrix from
mydata <- matrix(c(3,4, 9,10,11))
# computing Euclidean distances
dissMatrix <- dist(mydata)
# hierarchical clustering through complete linkage
hc1 <- hclust(dissMatrix)
# original height
max(hc1$height)
[1] 8
# splitting the tree
hc1_children <- lapply(split(mydata, cutree(hc1, 2)), function(x)
as.dendrogram(hclust(dist(x))))
# merging the "child" dendrograms
hc1_rebuilt <- merge(hc1_children[[1]], hc1_children[[2]])
# final height
max(as.hclust(hc1_rebuilt)$height)
[1] 2.2
非常感谢任何启发。显示 merge
如何处理此样本数据会很棒。
帮助文件里写的是什么:
height height at which the two dendrograms should be merged. If not
specified (or NULL), the default is ten percent larger than the
(larger of the) two component heights.
我很难理解 R
函数 merge
在合并两个树状图时的确切作用。
实际问题是:
节点(合并两棵树)的高度是如何得到的?
树状图通过不同的聚集方法构建的事实
也可以联合,这意味着该函数不使用任何 Lance-Williams 更新。
这也通过分裂任何树状图的根节点然后重建它来证实
通过merge
:最终的高度与原来的不一样:
# data to get the dissimilarity matrix from
mydata <- matrix(c(3,4, 9,10,11))
# computing Euclidean distances
dissMatrix <- dist(mydata)
# hierarchical clustering through complete linkage
hc1 <- hclust(dissMatrix)
# original height
max(hc1$height)
[1] 8
# splitting the tree
hc1_children <- lapply(split(mydata, cutree(hc1, 2)), function(x)
as.dendrogram(hclust(dist(x))))
# merging the "child" dendrograms
hc1_rebuilt <- merge(hc1_children[[1]], hc1_children[[2]])
# final height
max(as.hclust(hc1_rebuilt)$height)
[1] 2.2
非常感谢任何启发。显示 merge
如何处理此样本数据会很棒。
帮助文件里写的是什么:
height height at which the two dendrograms should be merged. If not specified (or NULL), the default is ten percent larger than the (larger of the) two component heights.