在“R”中使用“ggvenn”在维恩图中缺少集合
Missing sets in Venn Diagram using `ggvenn` in `R`
我有一个包含 7 组数据的列表。以下代码
genes <- paste("gene",1:1000,sep="")
x <- list(
A = sample(genes,300),
B = sample(genes,525),
C = sample(genes,440),
D = sample(genes,350),
E = sample(genes,100),
EE = sample(genes,120),
G = sample(genes,102))
library(ggvenn)
ggvenn(x, stroke_size = 0.5, set_name_size = 4)
生成它们的维恩图,但我在结果图中只获得了 4 组:
如何获得所有集合的维恩图?此外,我希望列出每个集合中的元素(例如每个集合的前十个元素,因为有很多)。
要绘制图表,请使用 venn 包中的 venn::venn(x)
。但是,要获取内部元素,请使用 gplots 包中的 attributes(gplots::venn(x, show.plot = FALSE))$intersections
。
如果您只对前 10 个元素感兴趣,这会起作用:sapply(attributes(gplots::venn(x, show.plot = FALSE))$intersections, function(x) x[1:10])
我有一个包含 7 组数据的列表。以下代码
genes <- paste("gene",1:1000,sep="")
x <- list(
A = sample(genes,300),
B = sample(genes,525),
C = sample(genes,440),
D = sample(genes,350),
E = sample(genes,100),
EE = sample(genes,120),
G = sample(genes,102))
library(ggvenn)
ggvenn(x, stroke_size = 0.5, set_name_size = 4)
生成它们的维恩图,但我在结果图中只获得了 4 组:
如何获得所有集合的维恩图?此外,我希望列出每个集合中的元素(例如每个集合的前十个元素,因为有很多)。
要绘制图表,请使用 venn 包中的 venn::venn(x)
。但是,要获取内部元素,请使用 gplots 包中的 attributes(gplots::venn(x, show.plot = FALSE))$intersections
。
如果您只对前 10 个元素感兴趣,这会起作用:sapply(attributes(gplots::venn(x, show.plot = FALSE))$intersections, function(x) x[1:10])