我猜你正在使用它來創建那個目前看起來不存在的圖像。
> 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是通過對具有相同列名和列名的三種不同物種的植物進行測量而創建的。
> iris.dist <- dist(iris[1:4], "euclidean")
> identical(rownames(iris.dist), colnames(iris.dist))
[1] TRUE
該對象被傳遞給hclust,它構造一棵樹並將其切成三塊。對象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行。向下移動到第108行,你可以看到原始Species
確實是virginica
。 Cutree將此分配給組1
。我們來看第3行。在order.num
之下,你可以看到這個項目來自第103行。再次,如果你下來檢查第103行的原始物種,它仍然是(仍然)virginica
。我會爲你做一個練習來檢查其他(隨機)行,並說服你自己保存在開始時構建表的順序。因此,桌子應該是正確的。
謝謝你的解釋@羅曼·盧斯特里克。我會通過你回答。我將編輯圖片。 – Annie 2012-07-16 06:30:29
我試圖編輯,但不知何故,圖片沒有顯示。另一種查看圖像的方法是,在地址欄中複製此鏈接> http://i.stack.imgur.com/78c1m.png。真的很抱歉給您帶來不便。 – Annie 2012-07-16 06:40:55
@安妮,你可能沒有足夠的權限呢。我編輯了你的問題。如果您覺得所提供的答案回答了您的問題,請隨時通過點擊答案分數下方的灰色複選標記來標記該答案。 – 2012-07-16 07:10:13