我有三个ID列表。如何使用R绘制维恩图
我想比较3个列表,并绘制维恩图。在获得的维恩图中,我将在交叉点中显示不是数字,而是ID。 我需要在R中这样做,但我真的不知道如何。 你能帮我吗? 这是我的代码。它可以工作,但只显示数字,我会将“条款”显示为交叉点
set1 <- unique(goterm1)
set2 <- unique(goterm2)
set3 <- unique(goterm3)
require(limma)
Diagram <- function(set1, set2, set3, names)
{
stopifnot(length(names) == 3)
# Form universe as union of all three sets
universe <- sort(unique(c(set1, set2, set3)))
Counts <- matrix(0, nrow=length(universe), ncol=3)
colnames(Counts) <- names
for (i in 1:length(universe))
{
Counts[i,1] <- universe[i] %in% set1
Counts[i,2] <- universe[i] %in% set2
Counts[i,3] <- universe[i] %in% set3
}
vennDiagram(vennCounts(Counts))}
Diagram(set1, set2, set3, c("ORG1", "ORG2", "ORG3"))
Venn
的venneuler包应该能够帮助你;如果不是VennDiagram包是更可定制的。尽管如此,您很可能必须先计算出您感兴趣的比例。 –
谢谢你,我已经尝试过没有结果。但是我没有看到任何好的例子来学习它。 – Jack
现在你需要发布'dput(goterm1); dput(goterm2); dput(goterm2)' –