我是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第二颜色,Sa,Sb第三颜色等...
答案 0 :(得分:2)
我不确定如何使用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