微生物生态排序分析——CCA分析
library(vegan) library(ggplot2) library(permute) library(lattice) sa4=read.table("spes.csv",header=T,row.names=1,sep=",") S8.p=read.table("S8.p.csv",header=T,sep=",",row.names=1)#选择有显著性相关关系理化因子 group <- read.table("name.csv", header=F,sep=",",colClasses=c("character","character"))#用作产生图例,对样本进行分类 cca<-cca(sa4,S8.p, scale=T) sam <- data.frame(cca$CCA$u[,c(1,2)], group$V2) #提取样本得分 colnames(sam) <- c("CCA1","CCA2","group") spec <- cca$CCA$v[,c(1,2)] #物种得分 spec <- as.data.frame(spec) #可用于图中显示物种数据 #spec<-data.frame(spece=row.names(cca$CCA$v),RDA1=cca$CCA$v[,1],RDA2=cca$CCA$v[,2]) env <- cca$CCA$biplot[,c(1,2)] #环境因子得分 env <- as.data.frame(env) cca1 =round(cca$CCA$eig[1]/sum(cca$CCA$eig)*100,2) #第一轴标签 cca2 =round(cca$CCA$eig[2]/sum(cca$CCA$eig)*100,2) #第二轴标签 #绘图对象的创建 p <- ggplot(data=sam,aes(CCA1,CCA2)) #几何对象 p <- p + geom_point(aes(colour=group,shape=group),size=5) + #在图中显示物种 #geom_point(data=spec,aes(shape=spece),size=2) + scale_shape_manual(values=seq(0,20))+ #添加样本标签 #geom_text(aes(label=rownames(sam)), # size=4,hjust=0.5,vjust=-0.7,position = "jitter") + scale_shape_manual(values=c(19,19,19,19,19)) + labs(title="CCA Plot",x=paste("CCA1 ",cca1," %"),y=paste("CCA2 ",cca2," %")) + theme(text=element_text(family="serif")) #去除背景以及网格线 p=p+theme_bw() + theme(panel.grid=element_blank()) p=p + geom_segment(data = env,aes(x=0,y=0,xend = env[,1], yend = env[,2]), colour="purple", size=1.5, arrow=arrow(angle=35, length=unit(0.3, "cm"))) + geom_text(data=env, aes(x=env[,1], y=env[,2], label=rownames(env)), size=5, colour="purple",hjust = (1 - 2 * sign(env[ ,1])) / 3, angle = (180/pi) * atan(env[ ,2]/env[ ,1]))
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233152.html原文链接:https://javaforall.net