BiocManager::install("clusterProfiler") 
BiocManager::install("enrichplot")  
BiocManager::install("org.Mm.eg.db")
library(org.Mm.eg.db)
library(clusterProfiler)
library(enrichplot)
setwd("D:\\XX") 
df = read.csv("X.csv",header = T) 
head(df)
dim(df)
df_id<-bitr(df$SYMBOL, 
            fromType = "SYMBOL",
            toType = "ENTREZID",
            OrgDb = "org.Mm.eg.db")
df_all<-merge(df,df_id,by="SYMBOL",all=F)
head(df_all)
dim(df_all) 
df_all_sort <- df_all[order(df_all$avg_log2FC, decreasing = T),]
head(df_all_sort,5)
write.table(df_all_sort,file="X.csv",sep =",",row.names=TRUE) 
gene_fc = df_all_sort$avg_log2FC
names(gene_fc) <- df_all_sort$ENTREZID
gsego_ALL <- gseGO(gene_fc,
  ont = "ALL",
  OrgDb = org.Mm.eg.db,
  keyType = "ENTREZID",
  exponent = 1,
  minGSSize = 5,
  maxGSSize = 500,
  pvalueCutoff = 0.05,
  verbose = FALSE)
dim(gsego_ALL)
head(gsego_ALL,2)
dotplot(gsego_ALL)
dotplot(gsego_ALL,
  showCategory=10,
  split=".sign") + facet_grid(.~.sign)
write.table(gsego_ALL,file="5-1.csv",sep =",",row.names=TRUE) 

KEGG <- gseKEGG(gene_fc,
      organism = "mmu",
      keyType = "kegg",
      exponent = 1,
      minGSSize = 5,
      maxGSSize = 500,
      pvalueCutoff = 0.05,
      verbose = FALSE)
head(KEGG)
write.table(KEGG,file="5-2.csv",sep =",",row.names=TRUE) 


paths <- c(XX)#ѡȡ????Ҫչʾ??ͨ·ID
gseaplot2(KEGG,paths, pvalue_table = TRUE)
gseaplot2(KEGG,paths, pvalue_table = TRUE,rel_heights = c(3, 0.5, 1),subplots = 1:3)
mmu05010