Я пометил матрицу данных для PCA. Как их раскрасить в соответствии с каждой меткой в ​​PCA, используя r? - PullRequest
0 голосов
/ 24 марта 2020

Моя матрица данных имеет 100 строк и 900 столбцов. Здесь каждый ряд представляет ИК-спектры. Столбец представляет волновые числа. Первые 23 строки принадлежат разным ИК-спектрам от одного и того же образца (т.е. спектры из 23 разных положений в образце). Точно так же я измерил 5 образцов каждый с определенным количеством наблюдений. Например: 1-23 строки относятся к образцу 1, 24:40 относится к образцу 2. Теперь я хочу раскрасить оценки на моем графике оценок PCA в соответствии с цветами образца и обозначить цвет именем образца. Например, 23 балла синего цвета, а затем метка, ссылающаяся на образец 1.

Я добавил дополнительный столбец с именем label, в мою матрицу данных, ссылающуюся на названия образцов. Но я не знаю, как действовать дальше?

1 Ответ

0 голосов
/ 28 марта 2020

Я использовал пакеты "factoextra", "sf" для этого. Здесь df - фрейм данных, который содержит данные для PCA. Здесь я добавил еще один столбец, ссылающийся на метки моих данных. В коде col.ind = df $ lab.id говорит, что я взял идентификатор метки (метки) в качестве индекса цвета. Следовательно, на полученном графике оценки PCA мои оценки были помечены цветом в соответствии с их метками.

fviz_pca_ind(PCA,axes=c(1,2),title="PC1 vs PC2",label="none",geom.ind="point",col.ind=df$lab.id,palette="lancet",addEllipses=FALSE, ellipse.level=0.95,pointsize=2,
             repel = TRUE,   # Avoid text overlapping,
             legend.title="Disease ",mean.point=FALSE,xlab=paste0("PC1: ",round(Variance_xplained[1]*100,1),"%"),ylab=paste0("PC2: ",round(Variance_xplained[2]*100,1),"%")

)
...