我知道树状图很受欢迎。但是,如果有大量的观察和类别,则很难遵循。但是有时我觉得应该有更好的方法来呈现同样的东西。我有一个想法,但不知道如何实现它。
考虑以下树状图。
> data(mtcars)
> plot(hclust(dist(mtcars)))
可以像散点图一样绘制它。其中两点之间的距离用线绘制,而单独的簇(假定阈值)是彩色的,圆的大小由某个变量的值决定。
我知道树状图很受欢迎。但是,如果有大量的观察和类别,则很难遵循。但是有时我觉得应该有更好的方法来呈现同样的东西。我有一个想法,但不知道如何实现它。
考虑以下树状图。
> data(mtcars)
> plot(hclust(dist(mtcars)))
可以像散点图一样绘制它。其中两点之间的距离用线绘制,而单独的簇(假定阈值)是彩色的,圆的大小由某个变量的值决定。
您正在描述进行聚类分析的一种相当典型的方式:
编码:
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 轴的含义。这通常涉及将数据投影到轴上并提取因子载荷。
剧情: