首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将标签添加到2D散点图(kmeans聚类)

将标签添加到2D散点图(kmeans聚类)
EN

Stack Overflow用户
提问于 2013-08-07 14:19:38
回答 1查看 2.1K关注 0票数 2

对数据集样本进行主成分分析,保留前两个分量向量.I,然后用k=3计算前两个分量的k均值聚类,然后根据聚类组的前两个特征函数和颜色绘制二维散点图。我用散点图完成了所有的事情,但是当我看到这个图时,我无法区分哪些样本是聚在一起的,所以我想将样本标签添加到散点图中的各个点。有人能建议我怎么做吗?

代码语言:javascript
复制
tdata<-t(subdata)
pca <- prcomp((tdata),cor=F)
dat.loadings <-pca$x[,1:2]
cl <- kmeans(dat.loadings, centers=3)
pca1 <-pca$x[,1]
pca2 <-pca$x[,2]
plot(pca1, pca2,xlab="PCA-1",ylab="PCA-2",col=cl$cluster)

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-07 14:41:59

这可以简单地使用ggplot来完成。我将使用mtcar数据,因为我没有访问您当前使用的数据集的权限。无论如何,这个想法应该是很明确的。

代码语言:javascript
复制
library(ggplot2)
pca <- prcomp((mtcars),cor=F)
dat.loadings <-pca$x[,1:2]
cl <- kmeans(dat.loadings, centers=3)
pca1 <-pca$x[,1]
pca2 <-pca$x[,2]
#plot(pca1, pca2,xlab="PCA-1",ylab="PCA-2",col=cl$cluster)
mydf<-data.frame(ID=names(pca1),PCA1=pca1, PCA2=pca2, Cluster=factor(cl$cluster))
ggplot(mydf, aes(x=PCA1, y=PCA2, label=ID, color=Cluster)) + 
       geom_point() + geom_text(size = 4, colour = "black", vjust = -1)

这给出了每个数据点的名称输出。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18105906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档