从PCA r获取集群

时间:2017-09-11 03:41:11

标签: r k-means pca

我有一个显示两个非常大的聚类的PCA,我不知道如何找出每个聚类中的哪些样本。

enter image description here

如果有帮助,我使用prcomp生成PCA:

pca1 <- autoplot(prcomp(df), label = TRUE, label.size = 2)

我的方法是尝试使用2组kmeans聚类PCA输出以获得聚类:

pca   <- prcomp(df, scale.=TRUE)
clust <- kmeans(pca$x[,1:2], centers=2)$cluster

然后我可以制作一个漂亮的情节,但我仍然迷失在每个星团中的样本。作为参考,这里是如果我绘制kmeans输出的图表生成:

enter image description here

正如您在第一张PCA图中所看到的,标签字面上说明了每个点的样本。我理想的输出是一个双列txt文件,其中一个列中的样本名称,以及另一列中它所属的组。

除此之外,如果有更好的方法,请告诉我。

提前致谢。

这是我的一大块数据:

              a        b       c       b      e
Sample_1013 312011  624559  625898  534309  220415

Sample_1046 474774  949458  951145  843049  366136

Sample_104  645363  1290450 1292520 919474  272200

Sample_1057 267319  534685  535294  690574  422645

Sample_106  414065  830571  834527  657354  234130

Sample_107  299289  602483  603756  566256  262153

1 个答案:

答案 0 :(得分:0)

在我的问题中,clust是我的kmeans的输出名称:

clust <- kmeans(pca$x[,1:2], centers=2)$cluster

我在终端输入了clust并得到了属于每个组的样本:

> clust
Sample_1013     Sample_1046      Sample_104     Sample_1057      Sample_106      Sample_107 
          1               1               1               1               1               1 
Sample_1098      Sample_109     Sample_1109     Sample_1129     Sample_1130     Sample_1140 
          1               1               1               1               1               1 
Sample_1149      Sample_115      Sample_118     Sample_1220     Sample_1223     Sample_1225 
          1               1               1               1               1               1 

希望这有助于某人。