R语言可视化(九):韦恩图绘制 - 简书 (jianshu.com)
R语言:VennDiagram绘制venn图 - 简书 (jianshu.com)
library(data.table)
cell<-fread("cell.txt",data.table = F)
shangqing<-fread("shangqing.txt",data.table = F)
#############一、数据过滤
##############1.5
cell.fil <- cell[cell$`P-value`<0.05 & cell$`Fold Change`>1.5,]
shangqing.fil<-shangqing[shangqing$`P-value`<0.05 & shangqing$`Fold Change`>1.5,]
##############1.2
cell.fil <- cell[cell$`P-value`<0.05 & cell$`Fold Change`>1.2,]
shangqing.fil<-shangqing[shangqing$`P-value`<0.05 & shangqing$`Fold Change`>1.2,]
##############二、算p值
# 转化为列表数据类型
dat <- list(KPC.cells=cell.fil$Metabolite,KPC.supernatant=shangqing.fil$Metabolite)
n.bk <- length(unique(unlist(dat)))
#SuperExactTest
library(SuperExactTest)
##############
mset.res <- MSET(x = dat, # 定义的列表数据
n = 823, # n为背景群体数量,如基因总数,或这里的总的英文字母数26
lower.tail = FALSE) #lower.tail=FALSE表示计算上侧拖尾P值(统计量大于一个观察到的值概率),即这里要计算的多个数据集重叠显著P值
p.value <- mset.res$p.value
# 打印pvalue
p.value
###########三、韦恩图
intersect <- intersect(cell.fil$Metabolite,shangqing.fil$Metabolite)
intersect
library(VennDiagram)
pdf(file="intersect.1.2.pdf",width = 10, height =8)
venn.plot <- venn.diagram(
x = list(KPC.cells=cell.fil$Metabolite,KPC.supernatant=shangqing.fil$Metabolite),
filename = NULL,
# 圈
lwd = 15, # 圈线条粗细 1 2 3 4 5
lty = 1, # 线条类型, 1 实线, 2 虚线, blank 无线条
fill = c("white", "white"), # 填充色
col = c("#de0f17", "#2529d8"), # 线条色
alpha = 0.75,
# 数字 number
cex = 4, # 数字大小
fontface = "bold", # 加粗
fontfamily = "sans", # 字体
label.col = "#00334e",
# 标签 category
cat.cex = 3, # 字体大小
cat.col = c("#de0f17", "#2529d8"), # 字体色
cat.fontface = "bold", # 加粗
cat.default.pos = "outer", # 位置, outer 内 text 外
cat.pos = c(0, 0), # 位置,用圆的度数
cat.dist = c(0.05, 0.05), # 位置,离圆的距离
cat.fontfamily = "sans" # 字体
#rotation = 1 # 1 2 3 旋转确定大打头数据集
);
grid.draw(venn.plot);
dev.off()
grid.newpage();
`````