【发布时间】:2013-10-19 14:21:11
【问题描述】:
我有三个 ID 列表。
我想比较这 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 包更可定制。不过,您很可能必须事先弄清楚您感兴趣的比例。
-
Thank
s, Ive 尝试了两种方法都没有结果。但是我还没有看到任何好的例子来学习它。 -
现在你需要发帖
dput(goterm1) ; dput(goterm2);dput(goterm2)
标签: r venn-diagram