作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的数据集样本上计算了 PCA 并保留了前两个分量向量。然后我计算了前两个分量的 k 均值聚类,k=3。
现在我需要用前两个特征函数(来自 PCA)和基于簇组的颜色绘制一个二维散点图。我用散点图完成了所有事情,但是当我查看该图时,我无法区分哪些样本是聚类的,因此我想将样本标签添加到散点图中的点。
有人可以建议我如何解决这个问题吗?
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)
最佳答案
这可以简单地使用 ggplot 来完成。我将使用 mtcars 数据,因为我无权访问您当前使用的数据集。无论如何,这个想法应该很清楚。
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)
关于r - 向二维散点图添加标签(kmeans 聚类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18105906/
我是一名优秀的程序员,十分优秀!