问题描述
使用R语言中的聚类是,当需要聚类的数据比较多时,常常出现下面的图片。这时候我们怎么办法呢。
这是变量较少的时候的图:
可是当变量比较多就是这个样子了:
解决方式
数据处理
当遇到上述情况,可是又想可视化分类效果的时候怎么办呢。我们可以换一个可视化的方式,利用散点图的形状颜色大小等参数来看效果。下面贴出代码和效果图。
library(ggplot2) # 载入画图包
用下列命令提取出类。注:fit
是函数hclust
聚类得到的模型,k是需要的分类的个数。
> cutree(fit,k=4)
[1] 1 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 1 1 1 1 1 1 1 2 2 3 1 3 3 3 3 2 2 1
[36] 2 1 1 2 2 1 2 1 2 2 1 1 1 1 2 2 2 1 2 2 1 1 1 1 1 2 2 1 1 1 2 1 1 1 1
[71] 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 1 1 1 2 2 2 2 2 2 2
[106] 1 2 1 1 3 3 3 3 4 4 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2
[141] 2 1 1 2 2 2 2 2 2 2 2 1 1 2 1 1 1 1 1 4 4 4 4 4 4 1 1 2 2 1 2 2 2 2 2
[176] 2 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
[211] 1 2 2 2 1 2 1 1 3 4 4 4 1 1 3 3 3 3 3 3 3 2 2 1 1 1 1 2 2 2 2 2 1 1 1
[246] 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 1 1 1 2 2 2 2 1 1 1 2 2 2 2
[281] 2 1 1 1 2 1 1 1 1 1 2 2 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2
[316] 2 1 1 1 2 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 2 2 2
[351] 2 2 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 3 3 2 1 2 2 2 1
[386] 1 1 1 1 1 1 1 1 1 1 1 3 3 3 4 4 1 1 1 1 3 3 1 3 1 1 3 1 1 1 1 1 1 1 1
[421] 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1
下面给出分类的代码和图片
颜色
ggplot(data = da) +
geom_point(mapping = aes(x = x7, y = x8, col = as.factor(class)))
透明度
ggplot(data = da) +
geom_point(mapping = aes(x = x7, y = x8, alpha = as.factor(class)))
形状
ggplot(data = da) +
geom_point(mapping = aes(x = x7, y = x8, shape = as.factor(class)))
组合
ggplot(data = da) +
geom_point(mapping = aes(x = x7, y = x8, col = as.factor(class)
, shape = as.factor(class), alpha = as.factor(class)))