首页 > 解决方案 > 如何在 PCA 图中标记一些选择性样本

问题描述

阴谋

prcomp在 R 中使用以下方法创建了一个 PCA 图:

> input <- read_excel("input.xlsx")                                                          
> data<-input[,!names(input) %in% "gene"]
> data1<-t(as.matrix(data[-1])) %*% as.matrix(data[-1]) / ncol(data)
> res.pca <- prcomp(data1, scale = TRUE)
> par(cex=0.5)
> plot(res.pca$x[,1],res.pca$x[,2], xlab="PC1", ylab = "PC2", main = "PC1 / PC2 - plot") 

input.xlsx文件如下所示:

gene    Sample1 Sample2     Sample3
A   13.932431   5.366284    6.93992
B   21.111017   0.662061    1.563687
C   26.471751   0.932416    1.673144
D   27.597507   36.591138   28.371248
E   35.324703   0           1.462438

我只想为几个样本添加标签。我能够使用以下方法为所有样本添加标签:

text(res.pca$x[,1], res.pca$x[,2], rownames(input), pos= 1 )

但是我有很多样本,PCA 点标签不清楚,所以我只想标记几个点。我想这样做是为了将这个 PCA 图与另一个使用不同方法的相同样本的 PCA 图进行比较。

标签: r

解决方案


要在左侧标记几个点,请尝试:

Threshold = -30
LEFT = which(res.pca$x[,1] + res.pca$x[,2] < Threshold)
text(res.pca$x[LEFT,1], res.pca$x[LEFT,2], rownames(input)[LEFT], pos= 1 )

尝试几个不同的值Threshold来更改标记的点数。


推荐阅读