R Dendrogramm in Gruppen mit minimaler Größe schneiden

Gibt es eine einfache Möglichkeit, den niedrigsten Wert von @ zu berechneh imcut dass Gruppierungen einer bestimmten Mindestgröße erzeugt?

Wenn ich in diesem Beispiel Cluster mit jeweils mindestens zehn Mitgliedern haben wollte, sollte ich mit @ geheh = 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

Da die Höhen der Splits in @ angegeben sihc$height, Ich könnte eine Reihe von Kandidatenwerten mit @ erstellhc$height + 0.00001 und durchlaufen dann die Schnitte an jedem von ihnen. Ich verstehe jedoch nicht, wie ich die Clustergröße analysieren sollmembers aus demdendrogram Klasse. Zum Beispiel,cut(as.dendrogram(hc), h=3.80)$lower[[1]]$members kehrt zurückNULL, nicht wie gewünscht 66.

Bitte beachten Sie, dass dies eine einfachere Frage ist alsSchneiden des Dendrogramms in n Bäume mit minimaler Clustergröße in R welches das Paket verwendetdynamicTreeCut; Hier gebe ich nicht die Anzahl der Bäume an, sondern nur die minimale Clustergröße. TYVM.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage