特定の最小サイズのグループ化を生成するh
inの最小値を計算する簡単な方法はありますか?cut
この例では、それぞれ少なくとも 10 個のメンバーを持つクラスターが必要な場合は、次のようにする必要がありh = 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
分割の高さは で与えられているので、hc$height
を使用して候補値のセットを作成し、hc$height + 0.00001
それぞれのカットをループすることができます。members
ただし、クラスからクラスター サイズを解析する方法がわかりませんdendrogram
。たとえば、必要に応じて 66 ではなくをcut(as.dendrogram(hc), h=3.80)$lower[[1]]$members
返します。NULL
これは、パッケージを使用するRで最小クラスターサイズのnツリーにデンドログラムをカットするよりも簡単な質問であることに注意してくださいdynamicTreeCut
。ここでは、ツリーの数を指定していません。最小クラスター サイズのみを指定しています。TYVM。