2017-09-11 11 views
0

2つの非常に大きなクラスタを示すPCAがあります。どのクラスタのサンプルがどのクラスタにあるか把握する方法はわかりません。PCAからクラスタを取得するr

enter image description here

それはPCAを生成するprcompを使用して、イムを助けている場合:

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出力をグラフ場合、プロットが生成される:あなたが最初のPCAプロットで見ることができるように、ラベルが文字通り各ドットがあるサンプル言う

enter image description here

。私の理想的な出力は、1列のサンプル名とそれが他の列に属するグループの2列の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は私の関数kmeansからの出力の名前です:私は、端末に入力されたCLUSTとなった

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

ましたサンプルは各グループに属します:

> 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 

これはうまくいけば助かります。

関連する問題