我猜你正在使用它来创建那个目前看起来不存在的图像。
> 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