给定集合,判定集合间的交集并可视化,是比较不同数据集的一种方法。R语言中有几个包能够较好的完成这份工作。如VennDiagram、Venn、UpSetR包等,也有一些在线画韦恩图网站。
venn.diagram or venn
getwd()
library(xlsx)
library(VennDiagram)
library(venn)
library(UpSetR)
fs = list.files(".",pattern = "^p",ignore.case = T)
options(stringsAsFactors = F)
F = list()
for(i in fs){
F[i] = read.xlsx(i,1)
}
venn(list(a= F[[1]],b= F[[2]],c=F[[3]],d=F[[4]]),zcolor='style')
#overlap = calculate.overlap(list(a=F[[1]],b=F[[2]],c=F[[3]],d=F[[4]]))
venn.diagram(list(a= F[[1]],b= F[[2]],c=F[[3]],d=F[[4]]),filename = "overlap.tiff",
col = "transparent",
fill = c("cornflowerblue", "green", "yellow", "darkorchid1"))
【注意:运行venn.diagram之后,会在当前目录下直接生成以文件名命名的图,因此注意文件名正确,同时在控制台输出1,不要怀疑命令出错。】