一、 数据准备
KEGG功能注释的差异分析结果绘图。使用的是经过Pairwise Mann–Whitney U-tests检验的处理间class II功能丰度差异结果数据,包含class I作为分面信息进行条形图绘制。
library(ggplot2)
library(ggsci)
library(ggpubr)
library(scales)
# 1.1 读入数据
data = read.csv("KEGG.csv",header=TRUE,sep=",",stringsAsFactors = FALSE)
dim(data) # 44个classII
data$Class2 = factor(data$Class2,levels = data$Class2[1:44]) # 设置class II数据因子水平
head(data)
# 1.2 数据格式转换-“宽”转“长”
library(tidyr)
colnames(data) = c("Class2","Class1","mean","sd","mean","sd","p.adj") # 将CK与PT的均值和标准差的列名设置为一样,后续才能按行合并。
data = rbind(data.frame(data[,c(1:4,7)],group = rep("CK",time =44)),
data.frame(data[c(1,2,5:7)],group = rep("PT",time=44))) # 按行合并CK和PT的mean和sd,并添加分组信息列。
head(data)
dim(data)
# 1.3 数据过滤,只保留具有统计学意义(p.adj<0.05)的功能
data = data[data$p.adj < 0.05,]
head(data)
dim(data) # 保留27个功能
# 1.4 设置显著性标记:p<0.05,标记为*;p<0.01,标记为**;p<0.001,标记为***。
## 因为这里是两组比较,添加标记时使用""占位。
data$sig = ""
data[which(data$p.adj[27:58]<0.05),"sig"] = "*"
data[which(data$p.adj[27:58]<0.01),"sig"] = "**"
data[which(data$p.adj[27:58]<0.001),"sig"] = "***"
图1|基因功能注释丰度差异检验结果,KEGG.csv。包含CK和PT两个处理的功能注释的mean和sd数据,及组间差异检验p值。
图2|功能注释丰度显著差异数据,data。只保留p<0.05功能,添加分组信息和显著性标记。
二、 KEGG多变量分面条形图
以ClassII作为纵坐标,功能丰度为横坐标