基于R語言的微生物群落組成多樣性分析—β多樣性之組間差異性檢驗(yàn)

引言

????雖然通過PCoA或者NMDS等分析手段可以展示各組樣本的微生物組成差異及組間差異,但是,這只是初步進(jìn)行展示,僅此還無法準(zhǔn)確判斷組間差異大小及顯著性。因此,我們還需要通過其他方式進(jìn)行進(jìn)一步檢驗(yàn)。而Anosim(analysis ofsimilarities,相似性分析)、MRPP(Multiple ResponsePermutation Procedure,多元響應(yīng)置換分析)Adonis(PERMANOVA,置換多元方差分析)三種分析方式可以達(dá)到檢驗(yàn)組間差異是否大于組內(nèi)差異的目的。下面,小編就使用R語言帶大家實(shí)操一下:

正文——代碼

PCoA分析

1、設(shè)置工作目錄

rm(list=ls())
setwd('D:\\桌面\\β-diversity分析\\Anosim&MRPP&Adonis')

2、安裝、加載所需包

#安裝所需R包
install.packages("vegan")
install.packages("ggplot2")
install.packages("ggprism")
#加載包
library(vegan)#計(jì)算距離時(shí)需要的包
library(ggplot2)
library(ggprism)

3、PCoA分析(具體參考之前的文章)

#數(shù)據(jù)處理及PCoA分析
otu_raw <- read.table(file="otu.txt",sep="\t",header=T,check.names=FALSE ,row.names=1)
otu <- t(otu_raw)
otu.distance <- vegdist(otu)
PCoA <- cmdscale (otu.distance,eig=TRUE)
pc12 <- PCoA$points[,1:2]
pc <- round(PCoA$eig/sum(PCoA$eig)*100,digits=2)#解釋度
pc12 <- as.data.frame(pc12)
pc12$samples <- row.names(pc12)
group <- read.table("group.txt", sep='\t', header=T)
colnames(group) <- c("samples","group")
df <- merge(pc12,group,by="samples")
head(df)
#繪圖
ggplot(df,aes(x=V1, y=V2,color=group,shape=group))+#指定數(shù)據(jù)、X軸、Y軸
  geom_point(size=3)+
  theme_bw()
image.png
????根據(jù)上面初步得到的PCoA圖可以清楚看到三組樣品的分散程度很大,這初步可以說明組間差異是大于組內(nèi)差異的,然后我們使用vegan包中的Anosim函數(shù)、MRPP函數(shù)及Adonis函數(shù)進(jìn)行進(jìn)一步組間差異分析。

Anosim分析

#使用vegan包中的adosim函數(shù)進(jìn)行adosim分析
df_anosim <- anosim(otu.distance,df$group,permutations = 999)#數(shù)據(jù)也可以是原始o(jì)tu數(shù)據(jù)
#df_anosim <- anosim(otu,df$group,permutations = 999)
#整理出作圖數(shù)據(jù)
df1<-data.frame(
  x=df_anosim$class.vec,
  y=df_anosim$dis.rank
)
#繪圖
ggplot(df1,aes(x=x,y=y))+
  stat_boxplot(geom = "errorbar", width=0.1,size=0.8)+#添加誤差線,注意位置,放到最后則這條先不會被箱體覆蓋
  geom_boxplot(aes(fill=x), 
               outlier.colour="white",size=0.5)+
  theme(panel.background =element_blank(), 
        axis.line=element_line(),
        legend.position="none",plot.title = element_text(size=14))+
  scale_fill_manual(values=c("#1597A5","#FFC24B","#FEB3AE","red"))+ #指定顏色
  ggtitle("Bray-Curtis Anosim")+
  theme_prism(palette = "candy_bright",
              base_fontface = "plain",
              base_family = "serif", 
              base_size = 14,  
              base_line_size = 0.8, 
              axis_text_angle = 45)+
  theme(legend.position = 'none')+
  labs(x = paste("R=",df_anosim$statistic,", ","p=", df_anosim$signif),
       y = "Rank of Distance (Bray_Curtis)")

image.png

\color{blue}{R=0.38>0,p=0.009, 說明組間差異顯著大于組內(nèi)差異。}

MRPP分析

MRPP <- mrpp(otu.distance,df$group,permutations = 999)
MRPP

image.png

\color{blue}{通過查看其中的A值與Pvalue值即可}

Adonis分析

Adonis <- adonis2(otu.distance~group,data=df,
       distance = "bray",
       permutations = 999)
Adonis

image.png

\color{blue}{通過查看其中的R^2值及P值檢驗(yàn)分組是否合理,其中R^2在}
\color{blue}{0-1之間,越大則代表分組指標(biāo)對差異的稀釋度越高。}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容