R corta o dendrograma em grupos com tamanho mínimo
Existe uma maneira fácil de calcular o menor valor deh
nocut
que produz agrupamentos de um determinado tamanho mínimo?
Neste exemplo, se eu quisesse clusters com pelo menos dez membros cada, eu deveria ir comh = 3.80
:
# using iris data simply for reproducible example
data(iris)
d <- data.frame(scale(iris[,1:4]))
hc <- hclust(dist(d))
plot(hc)
cut(as.dendrogram(hc), h=3.79) # produces 5 groups; group 4 has 7 members
cut(as.dendrogram(hc), h=3.80) # produces 4 groups; no group has <10 members
Como as alturas das divisões são dadas emhc$height
, Eu poderia criar um conjunto de valores candidatos usandohc$height + 0.00001
e depois faça cortes em cada um deles. No entanto, não vejo como analisar o tamanho do clustermembers
Fora dedendrogram
classe. Por exemplo,cut(as.dendrogram(hc), h=3.80)$lower[[1]]$members
retornaNULL
, não 66 conforme desejado.
Observe que esta é uma pergunta mais simples do queCorte de dendrograma em n árvores com tamanho mínimo de cluster em R que usa o pacotedynamicTreeCut
; aqui não estou especificando o número de árvores, apenas o tamanho mínimo do cluster. TYVM.