2017-07-29 87 views
0

我从12类数据:为此,我想在R绘制维恩图绘制多组的维恩双字母组合

df <- data.frame(id=c(paste("a",1:1000,sep="."), 
         paste("b",1:2000,sep="."), 
         paste("c",1:100,sep="."), 
         paste("d",1:500,sep="."), 
         paste("e",1:200,sep="."), 
         paste("f",1:550,sep="."), 
         paste("g",1:2100,sep="."), 
         paste("h",1:900,sep="."), 
         paste("i",1:200,sep="."), 
         paste("j",1:3500,sep="."), 
         paste("k",1:4100,sep="."), 
         paste("l",1:2100,sep=".")), 
       class=c(rep("A",1000), 
         rep("B",2000), 
         rep("C",100), 
         rep("D",500), 
         rep("E",200), 
         rep("F",550), 
         rep("G",2100), 
         rep("H",900), 
         rep("I",200), 
         rep("J",3500), 
         rep("K",4100), 
         rep("L",2100))) 

使用venneulerpackage:令人惊讶的

plot(venneuler(as.matrix(df))) 

enter image description here

类,因为df有任何的类之间没有重叠。

任何想法,如果这可以避免或任何其他维恩图绘图R包能够处理如此大量的类?

回答

1

这是可能的eulerr(我已经开发了一个包),虽然它是令人难以置信的速度很慢,考虑到大量的可能组合。

vec <- as.vector(table(df$class)) 
names(vec) <- unique(df$class) 
plot(eulerr::euler(vec)) 

enter image description here