我在 R 中使用 prcomp
创建了一个 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 图进行比较。
最佳答案
要在左侧标记几个点,请尝试:
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
值来更改标记的点数量。
关于r - 如何在 PCA 图中标记一些选择性样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62961658/