操作之前安裝好ggplot2、vegan弓坞、ggpubr包叫搁。如下:
install.packages("ggplot2")
install.packages("ggpubr")
install.packages("vegan")
計(jì)算Shannon-香農(nóng)指數(shù)和Simpson-辛普森指數(shù)的命令在vegan包中纺蛆,計(jì)算各組顯著性的命令在ggpubr包中算利;畫(huà)圖使用ggplot命令,在行使每個(gè)命令之前一定要加載相應(yīng)的包证薇,如下:
library(ggplot2)
library(ggpubr)
library(vegan)
拿到一個(gè)otu表格度苔,要先計(jì)算香農(nóng)指數(shù)和辛普森指數(shù),操作如下:
otu=read.table('D:/r-working/feature-table.taxonomy.txt',row.names = 1,skip=1,header=T,comment.char ='',sep='\t')
#讀取out表格
#'D:/feature table.taxonomy.txt'為文件路徑浑度,注意斜線方向
#row.names = 1指定第一列為行名
#skip=1跳過(guò)第一行不讀
#header=T指定第一個(gè)有效行為列名
#sep='\t'表示指定制表符為分隔符
#comment.char=''表示設(shè)置注釋符號(hào)為空字符‘’寇窑,這樣#后面的內(nèi)容就不會(huì)被省略
otu=otu[,-ncol(otu)]
#去除表格的最后一列,無(wú)用信息
otu=t(otu)
#表格轉(zhuǎn)置箩张,必須將樣品名作為行名
shannon=diversity(otu,"shannon")
#計(jì)算香農(nóng)指數(shù),先加載vegan包
shannon
#查看香農(nóng)指數(shù)
simpson=diversity(otu,"simpson")
#計(jì)算辛普森指數(shù),先加載vegan包
simpson
#查看辛普森指數(shù)
alpha=data.frame(shannon,simpson,check.names=T)
#合并兩個(gè)指數(shù)
write.table(alpha,"D:/r-working/alpha-summary.xls",sep='\t',quote=F)
#存儲(chǔ)數(shù)據(jù)甩骏,注意路徑使用反斜杠
將各樣本進(jìn)行分組完残,并進(jìn)行畫(huà)圖,操作如下:
map<-read.table('D:/r-working/mapping_file.txt',row.names = 1,header=T,comment.char ='',sep='\t',check.names=F)
#讀取分組表格
group<-map["Group1"]
#提取需要的分組,'Group1'是表中的分組列名横漏,包括A,B,C三組
alpha<-alpha[match(rownames(group),rownames(alpha)),]
#重排alpha的行的順序,使其與group的樣本id(行名)一致
data<-data.frame(group,alpha,check.rows=T)
#合并兩個(gè)表格.'<-'與'='同屬賦值的含義.
p=ggplot(data=data,aes(x=Group1,y=shannon))+geom_boxplot(fill=rainbow(7)[2])
#data = data指定數(shù)據(jù)表格
#x=Group1指定作為x軸的數(shù)據(jù)列名
#y=shannon指定作為y軸的數(shù)據(jù)列名
#geom_boxplot()表示畫(huà)箱線圖
#fill=rainbow(7)[2]指定填充色
此處用到ggplot2包畫(huà)箱線圖谨设,將畫(huà)圖函數(shù)賦值給p后,可以用‘+’不斷進(jìn)行圖層疊加缎浇,給圖片p增加新的特性
p
#查看p
mycompare=list(c('A','B'),c('A','C'),c('B','C'))
#指定多重比較的分組對(duì)
mycompare
p<-p+stat_compare_means(comparisons=mycompare,label = "p.signif",method = 'wilcox')
#添加顯著性標(biāo)記的第一種方法扎拣,在此之前先加載ggpubr包
p<-p+ylim(2,5.5)
#調(diào)整圖像的外觀