我有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)))
我想在R
中绘制维恩图。
使用venneuler
package
:
plot(venneuler(as.matrix(df)))
有点令人惊讶,因为df
在任何类之间都没有重叠。
任何想法是否可以避免或者是否有任何其他维恩图绘制能够处理如此大量类的R
包?
答案 0 :(得分:1)
使用eulerr(我开发的软件包)可以实现这一点,尽管在给定大量可能的组合组合时速度非常慢。
vec <- as.vector(table(df$class))
names(vec) <- unique(df$class)
plot(eulerr::euler(vec))