5

特定の最小サイズのグループ化を生成するhinの最小値を計算する簡単な方法はありますか?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。

4

3 に答える 3