引言
,即主坐标分析(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
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
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)
通过上面的代码就可以实现PCoA的分析及可视化,当然,我们也可以加入箱线图以显示分组间的显著性:
源码下载链接请在微信公众号后台回复关键词获取!