2017-07-29 6 views
0

のベンdigramプロット:私はRでベン図をプロットしたい私は12個のクラスからのデータを持っている多くのグループ

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使用

dfので意外の

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

enter image description here

種のクラスのいずれかとの間に重なりを有していません。

これを避けることができるかどうか、またはこのような多数のクラスを処理できる他のVenn図プロットRパッケージの考え方はありますか?

答えて

1

これはeulerr(私が開発したパッケージ)で可能ですが、大量の可能な組み合わせを考えれば非常に遅いです。

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

enter image description here

関連する問題