如何在 R 中的双标 PCA 分析中设置颜色

How to set colours in biplot PCA analysis in R

我是 R 环境的新手,开始在练习文件中使用它。 我创建了一个双标图(双标图是我需要做的)并设法选择我想要的 PC。我正在寻找可能存在的答案,但我还不理解所有参数的含义,所以我可能会错过答案。

mat=read.csv('data.txt',sep="\t",row.name=1,check.names=F,header=T)
mat_as_matrix<-as.matrix(mat)
tmat=t(mat_as_matrix)
pca_tmat=prcomp(tmat)
biplot(pca_tmat, choices=c(3,4), col=c("blue","green"))

我的输入数据是这样的:

Taxon   S1  S2  S3  S4  S5  S6  S7  S8  S9  S10 S11
OTU1    45  32  34  55  32  4   12  2   1   4   15
OTU2    1   2   3   2   1   23  32  21  26  34  23
OTU3    1   1   2   1   3   1   2   1   2   1   1
OTU4    12  21  23  45  31  342 342 345 333 322 150

我还做了一些类似下面的尝试来删除箭头。我正在尝试删除 OTU 的标签并将 'Sn' 标签变成点

biplot(pca_tmat$x,pca_tmat$y,type="p", var.axes = F, choices=c(3,4), col=c('blue','green')['S1','S3'])

但我在没有任何更改的情况下收到以下错误: 1L:p 中的错误:长度为 0

的参数

我需要做的是给每个样本一个不同的颜色:Sx,Sy,Sz 第一种颜色 Si,Sj 第 2 种颜色,Sa,Sb 第 3 种颜色,等等...

我不确定如何用 biplot 做到这一点,但如果你使用原始 PCA 输出,你基本上可以做任何你想做的事情。可能是这样的:

data <- replicate(100, rnorm(100)) pca <- prcomp(data) raw <- pca$x[,1:2] plot(raw[,1], raw[,2], col=rainbow(nrow(raw)), pch=20)

...将为您提供所需的信息。请注意我如何提取原始 PCA 输出,让我制作自己的双图。

听起来有点像作业题;如果是,那么我向您保证,使用 prcomp 的输出将使您更好地了解 PCA 中发生的事情。这将是值得的努力:D