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.