[英]Get clusters from PCA r
我有一个PCA,其中显示了两个非常大的群集,但我不知道如何找出每个群集中的样本。
如果有帮助,我将使用prcomp生成PCA:
pca1 <- autoplot(prcomp(df), label = TRUE, label.size = 2)
我的方法是尝试使用kmeans和2个组对PCA输出进行聚类以获得聚类:
pca <- prcomp(df, scale.=TRUE)
clust <- kmeans(pca$x[,1:2], centers=2)$cluster
然后,我可以绘制一个漂亮的图,但是仍然不清楚每个群集中的样本。 供参考,这是如果我绘制kmeans输出的图形生成:
如您在第一张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
在我的问题中,聪明是我的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
希望这对某人有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.