0

我的数据矩阵有 100 行和 900 列。这里每一行代表一个红外光谱。该列代表波数。前 23 行属于来自同一样品的不同 IR 光谱(即来自样品中 23 个不同位置的光谱)。同样,我测量了 5 个样本,每个样本都有一定的观察次数。例如:1-23 行属于样本 1,24:40 属于样本 2。现在我想根据样本颜色为我的 PCA 分数图中的分数着色,并用样本名称标记颜色。比如,23 个蓝色分数,然后是一个引用样本 1 的标签。

我在引用样本名称的数据矩阵中添加了一个名为 label 的额外列。但我不知道如何进一步?

4

1 回答 1

0

我为此使用了“factoextra”、“sf”包。这里 df 是包含 PCA 数据的数据帧。在这里,我添加了另一列引用我的数据标签。在代码中,col.ind= df$lab.id 表示我已将标签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),"%")

)
于 2020-03-28T13:08:44.293 回答