7

我知道树状图很受欢迎。但是,如果有大量的观察和类别,则很难遵循。但是有时我觉得应该有更好的方法来呈现同样的东西。我有一个想法,但不知道如何实现它。

考虑以下树状图。

> data(mtcars)
> plot(hclust(dist(mtcars)))

在此处输入图像描述

可以像散点图一样绘制它。其中两点之间的距离用线绘制,而单独的簇(假定阈值)是彩色的,圆的大小由某个变量的值决定。

在此处输入图像描述

4

1 回答 1

12

您正在描述进行聚类分析的一种相当典型的方式:

  • 使用聚类算法(在本例中为层次聚类)
  • 确定集群的数量
  • 使用某种形式或主成分分析在二维平面中投影数据

编码:

hc <- hclust(dist(mtcars))
cluster <- cutree(hc, k=3)
xy <- data.frame(cmdscale(dist(mtcars)), factor(cluster))
names(xy) <- c("x", "y", "cluster")
xy$model <- rownames(xy)

library(ggplot2)
ggplot(xy, aes(x, y)) + geom_point(aes(colour=cluster), size=3)

接下来发生的事情是您请一位熟练的统计学家来帮助解释 x 轴和 y 轴的含义。这通常涉及将数据投影到轴上并提取因子载荷。

剧情:

在此处输入图像描述

于 2012-07-13T08:22:14.647 回答