微生物生态排序分析——CCA分析

微生物生态排序分析——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]))

看到有很多同学问导入的数据格式问题,我重新写了一份详细的排序分析文章,发在了公众号“科学研究进行时”上,文章名称:R绘图-RDA排序分析,里面有数据格式的截图,大家可以扫描二维码关注查看。
在这里插入图片描述

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EcoEvoPhylo

值得点赞吗?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值