我的数据矩阵有100行900列。这里每一行代表一个红外光谱。该列表示波数。前23行属于同一样品的不同红外光谱(即来自样品中23个不同位置的光谱)。类似地,我测量了5个样本,每个样本都有特定的no.of观察值。例如: 1-23行属于样本1,24:40属于样本2。现在我想根据样本颜色给我的PCA得分曲线图中的分数着色,并用样本名称标记颜色。比如,23个蓝色的分数,然后是样本1的标签。
我已经在我的数据矩阵中添加了一个名为label的额外列,该列引用了示例名称。但是我不知道该如何继续下去呢?
发布于 2020-03-28 21:08:44
我使用了包"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),"%")
)https://stackoverflow.com/questions/60834368
复制相似问题