美文网首页
基于R语言的微生物群落组成多样性分析—β多样性之PCoA分析

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

作者: 科研那点事儿 | 来源:发表于2022-07-11 00:14 被阅读0次

引言

    \color{red}{PCoA},即主坐标分析(Principal Coordinates Analysis),是一种用于研究样本微生物群落组成相似性或差异性的数据降维分析方法。PC1 和PC2 是两个主坐标成分,图中每个点代表一个样本,点的颜色代表样本的分组,样本间的距离越近代表微生物群落结构越相似。图中圆圈一般是置信水平为95%时的置信椭圆,用于比较组间的群落结构组成相似性。

正文

1、设置工作目录

rm(list=ls())
setwd('D:\\桌面\\PCoA')

2、安装及加载包

#安装所需R包
install.packages("vegan")
install.packages("ggplot2")
#加载包
library(vegan)#计算距离时需要的包
library(ggplot2)#绘图包

3、读取数据及数据处理

otu_raw <- read.table(file="otu.txt",sep="\t",header=T,check.names=FALSE ,row.names=1)
otu <- t(otu_raw)

4、计算bray_curtis距离

otu.distance <- vegdist(otu)

5、pcoa分析

pcoa <- cmdscale (otu.distance,eig=TRUE)
pc12 <- pcoa$points[,1:2]
pc <- round(pcoa$eig/sum(pcoa$eig)*100,digits=2)

6、数据格式转换及数据整合

pc12 <- as.data.frame(pc12)
pc12$samples <- row.names(pc12)
head(pc12)

7、简单绘图

p <- ggplot(pc12,aes(x=V1, y=V2))+
  geom_point(size=3)+theme_bw()
p
image.png

8、加入分组信息

group <- read.table("group.txt", sep='\t', header=T)
colnames(group) <- c("samples","group")
df <- merge(pc12,group,by="samples")
color=c("#1597A5","#FFC24B","#FEB3AE")
p1<-ggplot(data=df,aes(x=V1,y=V2,
                       color=group,shape=group))+
  theme_bw()+
  geom_point(size=1.8)+
  theme(panel.grid = element_blank())+
  geom_vline(xintercept = 0,lty="dashed")+
  geom_hline(yintercept = 0,lty="dashed")+
  #geom_text(aes(label=samples, y=V2+0.03,x=V1+0.03,  vjust=0),size=3.5)+
  #guides(color=guide_legend(title=NULL))+
  labs(x=paste0("PC1 ",pc[1],"%"),
       y=paste0("PC2 ",pc[2],"%"))+
  scale_color_manual(values = color) +
  scale_fill_manual(values = c("#1597A5","#FFC24B","#FEB3AE"))+
  theme(axis.title.x=element_text(size=12),
        axis.title.y=element_text(size=12,angle=90),
        axis.text.y=element_text(size=10),
        axis.text.x=element_text(size=10),
        panel.grid=element_blank())
p1
image.png

9、添加置信椭圆

p1 + stat_ellipse(data=df,geom = "polygon",level=0.9,linetype = 2,size=0.5,aes(fill=group),alpha=0.2,show.legend = T)
image.png

    通过上面的代码就可以实现PCoA的分析及可视化,当然,我们也可以加入箱线图以显示分组间的显著性:

image.png
源码下载链接请在微信公众号\color{red}{【科研后花园】}后台回复关键词\color{blue}{PCoA}获取!

相关文章

网友评论

      本文标题:基于R语言的微生物群落组成多样性分析—β多样性之PCoA分析

      本文链接:https://www.haomeiwen.com/subject/fuvubrtx.html