現時点では存在しないイメージを作成するためにこれを使用していると思います。
> lmbjck <- cutree(hclust(dist(iris[1:4], "euclidean")), 3)
> table(lmbjck, iris$Species)
lmbjck setosa versicolor virginica
1 50 0 0
2 0 23 49
3 0 27 1
Dist は、同じ列名と行名を持つ 3 つの異なる種の植物の測定値から作成されます。
> iris.dist <- dist(iris[1:4], "euclidean")
> identical(rownames(iris.dist), colnames(iris.dist))
[1] TRUE
そのオブジェクトは hclust に渡され、ツリーを構築して 3 つに分割します。オブジェクトiris.order
は、デンドログラムが描画される順序を保持します。元の順序が保持され、ツリーはこの順序に基づいて描画されます。
> iris.hclust <- hclust(iris.dist)
> iris.cutree <- cutree(iris.hclust, 3)
> iris.order <- iris.hclust$order
これが証拠です。元のSpecies
指定、樹状図で見られる順序付けられた種の指定、順序番号、およびカットリー関数からのグループをまとめました。
> data.frame(original = iris$Species, ordered = iris$Species[iris.order],
order.num = iris.order, cutree = iris.cutree)
original ordered order.num cutree
1 setosa virginica 108 1
2 setosa virginica 131 1
3 setosa virginica 103 1
4 setosa virginica 126 1
5 setosa virginica 130 1
6 setosa virginica 119 1
...
103 virginica setosa 31 2
104 virginica setosa 26 2
105 virginica setosa 10 2
106 virginica setosa 35 2
107 virginica setosa 13 3
108 virginica setosa 2 2
...
出力を見てみましょう。最初の行を見ると、その下order.num
に 108 という番号があります。これは、この項目 (系統樹の左側の最初の項目) が 108 行目から来ていることを意味しますSpecies
。virginica
. Cutree はこれを group に割り当て1
ます。3 行目を見てみましょう。下order.num
に、この項目が 103 行からのものであることがわかります。ここでも、下に移動して 103 行の元の種を確認すると、それは (まだ)virginica
です。他の (ランダムな) 行をチェックして、最初にテーブルを作成する順序が保持されていることを確認してください。したがって、テーブルは正しいはずです。