2017-09-11 91 views
0

我有一个显示两个真正大集群的PCA,我不知道如何确定每个集群中的哪些样本。从PCA获取集群r

enter image description here

如果有帮助,进出口使用prcomp生成PCA:

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

我的方法是尝试集群中使用K均值的PCA输出,2组获得集群:

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

然后我可以做一个美丽的情节,但我仍然失去了每个集群中的哪些样本。作为参考,在这里,如果我绘制的k均值输出的情节产生:

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 

回答

0

在我的问题,clust是从我的k均值输出的名称:

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 

希望这可以帮助某人。