首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我已经标记了PCA的数据矩阵。如何使用r根据PCA中的每个标签对它们进行着色?

问我已经标记了PCA的数据矩阵。如何使用r根据PCA中的每个标签对它们进行着色?
EN

Stack Overflow用户
提问于 2020-03-24 23:40:32
回答 1查看 107关注 0票数 0

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

我已经在我的数据矩阵中添加了一个名为label的额外列,该列引用了示例名称。但是我不知道该如何继续下去呢?

EN

回答 1

Stack Overflow用户

发布于 2020-03-28 21:08:44

我使用了包"factoextra","sf“来做这件事。其中,df是包含PCA数据的数据帧。在这里,我添加了另一个引用我的数据标签的列。在代码中,col.ind= df$lab.id说我将标签id (标签)作为颜色索引。因此,在生成的PCA分数图中,我的分数是根据它们的标签进行颜色编码的。

代码语言:javascript
复制
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),"%")

)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60834368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档