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.

questionAnswers(3)

yourAnswerToTheQuestion