基于R语言的微生物群落组成多样性分析——RDA分析

    此前文章中小编已经给大家介绍了微生物群落组成多样性分析的三大主要板块——Alpha多样性分析、Beta多样性分析及群落结构组成分析。然而,在微生物高通量测序数据分析过程中,分析环境因子是否对微生物的群落结构造成一定影响也是其中很重要的一个板块。所以,小编今天要给大家讲的内容就是使用RDA分析方法分析环境因子对微生物群落的影响。
    RDA,即冗余分析(Redundancy Analysis),是一种响应变量矩阵与解释变量之间多元多重线性回归的拟合值矩阵的PCA分析,说的通俗点其实就是约束化的PCA分析。通过RDA分析可以实现将样本和与其对应的环境因素同时反映在同一个图中,以此揭示出环境因子是否对样本分布或则样本微生物群落结构等造成影响。

1、加载包

rm(list=ls())#clear Global Environment
setwd('D:\\桌面\\RDA')#设置工作路径

#加载包
library(vegan)
library(ggplot2)

2、加载数据

#OTU表格
df <- read.table("otu.txt",sep="\t",header = T,row.names = 1,check.names = F)
head(df)
#环境因子数据
env <- read.table("env.txt",sep="\t",header = T,row.names = 1,check.names = F)
head(env)
image.png

image.png

3、RDA分析

1)使用decorana函数检测我们的数据是否符合做RDA的要求

print(decorana(t(df)))
#根据DCA1的Axis Lengths值进行选择,如果>4.0选CCA;如果在3.0-4.0之间,选RDA和CCA都可以;如果<3.0, 选择RDA分析即可。
image.png

2)vegan包rda函数支持RDA分析

RDA <- rda(t(df),env,scale = T)

3)提取数据

#提取数据
df_rda <- data.frame(RDA$CCA$u[,1:2],rownames(env))
colnames(df_rda)=c("RDA1","RDA2","samples")
# 提取物种得分
df_rda_score <- data.frame(RDA$CCA$v[,1:2])
#计算轴标签数据(=轴特征值/sum(所有轴的特征值))
RDA1 =round(RDA$CCA$eig[1]/sum(RDA$CCA$eig)*100,2)
RDA2 =round(RDA$CCA$eig[2]/sum(RDA$CCA$eig)*100,2)

4、绘制RDA图

#读入分组文件
group <- read.table("group.txt", sep='\t', header=T)
#修改列名
colnames(group) <- c("samples","group")
#将绘图数据和分组合并
df_rda <- merge(df_rda,group,by="samples")
color=c("#1597A5","#FFC24B","#FEB3AE")#颜色变量
p1<-ggplot(data=df_rda,aes(x=RDA1,y=RDA2,
                   color=group))+#指定数据、X轴、Y轴,颜色
  theme_bw()+#主题设置
  geom_point(size=3,shape=16)+#绘制点图并设定大小
  theme(panel.grid = element_blank())+
  geom_vline(xintercept = 0,lty="dashed")+
  geom_hline(yintercept = 0,lty="dashed")+#图中虚线
  geom_text(aes(label=samples, y=RDA2+0.03,x=RDA1+0.03,  vjust=0),size=3)+#添加数据点的标签
  # guides(color=guide_legend(title=NULL))+#去除图例标题
  labs(x=paste0("RDA1 (",RDA1,"%)"),
       y=paste0("RDA2 (",RDA2,"%)"))+#将x、y轴标题改为贡献度
  stat_ellipse(data=df_rda,
               level=0.95,
               linetype = 2,size=0.8,
               show.legend = T)+
  scale_color_manual(values = color) +#点的颜色设置
  scale_fill_manual(values = c("#1597A5","#FFC24B","#FEB3AE"))+
  theme(axis.title.x=element_text(size=12),#修改X轴标题文本
        axis.title.y=element_text(size=12,angle=90),#修改y轴标题文本
        axis.text.y=element_text(size=10),#修改x轴刻度标签文本
        axis.text.x=element_text(size=10),#修改y轴刻度标签文本
        panel.grid=element_blank())#隐藏网格线
p1
image.png

5、添加环境因子数据

#提取环境因子得分
df_rda_env <- RDA$CCA$biplot[,1:2]
df_rda_env <- as.data.frame(df_rda_env)
head(df_rda_env)
# 添加环境因子数据
p1+geom_segment(data=df_rda_env,aes(x=0,y=0,xend=df_rda_env[,1],yend=df_rda_env[,2]),
               color="black",size=0.8,
               arrow=arrow(angle = 35,length=unit(0.3,"cm")))+
  geom_text(data=df_rda_env,aes(x=df_rda_env[,1],y=df_rda_env[,2],
                                label=rownames(df_rda_env)),size=3.5,
            color="blue", 
            hjust="inward",
            vjust=0.5*(1-sign(df_rda_env[,2])))+
  theme(legend.position = "top")
image.png

6、AI美化

image.png

源码及作图数据在公众号【科研后花园】后台回复\color{red}{“RDA”}即可获取!!!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容