Что на самом деле делает "слияние" применительно к дендрограммам в 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
Работы на этом примере данных будут великолепны.
1 ответ
Что написано в файле справки:
высота высота, на которой две дендрограммы должны быть объединены. Если не указано (или NULL), значение по умолчанию на десять процентов больше, чем (больше из) двух компонентов высоты.