EasyStat-对微生物生态alpha多样性解决方案
写在前面
今天北方很多地方都银装素裹,我在路上享受了雪景,只是不知道下次看到是什么时候了,车上许许多多的人影,两旁皑皑白雪和枯枝落叶交相辉映,一种穿过林海的感觉。
到了傍晚,我又在大部分人类能够到达的最高点看了日落,受益良多,自感自然的美妙,自身的渺小。到此,心的旅程也就结束了,明天正式繁杂的工作。
正文
EasyStat这个包开发用于统计分析的简化,目前确实给我的工作增加了很多润滑剂,走的更顺畅一些,现在我带大家如何使用这个包对alpha多样性进行统计分析,
注意:这里没有做方差齐性和正态检验,了解更多请查看本专辑。
数据和环境准备
#这里建立结果文件保存路径
path = "cs"
dir.create(path)
alppath = paste(path,"/alpha/",sep = "")
dir.create(alppath)
# 导入alpha计算函数
source("./alpha-diversity.R")
# 导入所需要的R包
library(EasyStat)
# 这个R包用于提供数据,如果不会安装,则在公众号下回复:数据,可以获得ps_liu.rds文件。然后使用readRDS函数导入即可。
library(ggClusterNet)
data(ps)
ps
# 提取map文件用于确定横坐标排布的顺序。
map = sample_data(ps)
map$Group
axis_order = c("WT","KO","OE")
#--指定图形宽度和高度
width = 4
height = 8
计算alpha多样性指标
# alpha函数位于上面导入的函数中,保证导入成功
alp = alpha(ps = ps,inde="Shannon",group = "Group",Plot = TRUE )
index= alp[[3]]
head(index)
#一般情况下,我们选择几个alpha多样性指数展示也就够了,这里我们选择三个。
sel = c(13,15,16)
data = cbind(data.frame(ID = index$Row.names,group = index$Group),index[sel])
head(data)
使用EasyStat操作
计算显著性,并保存结果
# #使用案例
# result = MuiaovMcomper(data = data,num = c(4:9),method_Mc = "Tukey")
# result
result = MuiKwWlx(data = data,num = c(3:5))
result
FileName <- paste(alppath,"/alpha_diversity_all_abc.csv", sep = "")
write.csv(result,FileName,sep = "")
FileName <- paste(alppath,"/alpha_diversity_Sample.csv", sep = "")
write.csv(index,FileName,sep = "")
三种典型图表出图 和保存
result1 = FacetMuiPlotresultBox(data = data,num = c(3:5),result = result,sig_show ="abc",ncol = 1 )
p = result1[[1]] + theme_bw()
p = p + scale_x_discrete(limits = axis_order) + theme_bw() + guides(fill = guide_legend(title = NULL))
p
res = FacetMuiPlotresultBar(data = data,num = c(3:5),result = result,sig_show ="abc",ncol = 1)
p2 = res[[1]]+ scale_x_discrete(limits = axis_order) + guides(color = FALSE) + theme_bw() +
guides(fill = guide_legend(title = NULL))
p2
res = FacetMuiPlotReBoxBar(data = data,num = c(3:5),result = result,sig_show ="abc",ncol = 1)
p3 = res[[1]]+ scale_x_discrete(limits = axis_order) + theme_bw() + guides(fill = guide_legend(title = NULL))
p3
FileName <- paste(alppath,"Facet_box", ".pdf", sep = "_")
ggsave(FileName, p, width = width*0.7, height = height)
FileName <- paste(alppath,"Facet_bar", ".pdf", sep = "_")
ggsave(FileName, p2, width = width*0.7, height = height)
FileName <- paste(alppath,"Facet_boxbar", ".pdf", sep = "_")
ggsave(FileName, p3, width = width*0.7, height = height * 1)