如何在 r 中使用 calculate.overlap 函数查找哪些元素与维恩图的哪些部分相关?
How to find which elements related to which parts of venn diagram using calculate.overlap function in r?
calculate.overlap的输出不清楚。
维恩图的每个位置都有一些名称,例如: $a1 , $a2 , ...
当我们为五个列表绘制它时,它变得如此复杂。
如何识别哪些名称 ($a1 , $a2 , ...) 与哪些列表的重叠相关?
library(VennDiagram)
overlap=calculate.overlap(
x=list(
"A"=c("a","b","c"),
"B"=c("a","b","c","d"),
"C"=c("a","c","d")
)
)
这是输出:
$a5
[1] "a" "c"
$a2
[1] "b"
$a4
character(0)
$a6
[1] "d"
$a1
character(0)
$a3
character(0)
$a7
character(0)
如何用我列表中的名字替换这些名字?
我的预期输出是:
$A,B,C
[1] "a" "c"
$A,B
[1] "b"
$A,C
character(0)
$B,C
[1] "d"
$A
character(0)
$B
character(0)
$C
character(0)
有答案here。但是,我并不声称理解它。对维恩图中的区域进行排序的一般规则是使用它的二进制表示。我的 nVennR
包使用该表示,可以为您提供任意数量的集合的快速答案:
> library(nVennR)
> myV <- plotVenn(list("A"=c("a","b","c"), "B"=c("a","b","c","d"), "C"=c("a","c","d")), showPlot = F)
> listVennRegions(myV)
$`0, 1, 1 (B, C)`
[1] "d"
$`1, 1, 0 (A, B)`
[1] "b"
$`1, 1, 1 (A, B, C)`
[1] "a" "c"
> listVennRegions(myV, na.rm = F)
$`0, 0, 0 ()`
[1] NA
$`0, 0, 1 (C)`
[1] NA
$`0, 1, 0 (B)`
[1] NA
$`0, 1, 1 (B, C)`
[1] "d"
$`1, 0, 0 (A)`
[1] NA
$`1, 0, 1 (A, C)`
[1] NA
$`1, 1, 0 (A, B)`
[1] "b"
$`1, 1, 1 (A, B, C)`
[1] "a" "c"
有一个vignette,其中包含有关用法的更多详细信息。
calculate.overlap的输出不清楚。 维恩图的每个位置都有一些名称,例如: $a1 , $a2 , ... 当我们为五个列表绘制它时,它变得如此复杂。 如何识别哪些名称 ($a1 , $a2 , ...) 与哪些列表的重叠相关?
library(VennDiagram)
overlap=calculate.overlap(
x=list(
"A"=c("a","b","c"),
"B"=c("a","b","c","d"),
"C"=c("a","c","d")
)
)
这是输出:
$a5
[1] "a" "c"
$a2
[1] "b"
$a4
character(0)
$a6
[1] "d"
$a1
character(0)
$a3
character(0)
$a7
character(0)
如何用我列表中的名字替换这些名字?
我的预期输出是:
$A,B,C
[1] "a" "c"
$A,B
[1] "b"
$A,C
character(0)
$B,C
[1] "d"
$A
character(0)
$B
character(0)
$C
character(0)
有答案here。但是,我并不声称理解它。对维恩图中的区域进行排序的一般规则是使用它的二进制表示。我的 nVennR
包使用该表示,可以为您提供任意数量的集合的快速答案:
> library(nVennR)
> myV <- plotVenn(list("A"=c("a","b","c"), "B"=c("a","b","c","d"), "C"=c("a","c","d")), showPlot = F)
> listVennRegions(myV)
$`0, 1, 1 (B, C)`
[1] "d"
$`1, 1, 0 (A, B)`
[1] "b"
$`1, 1, 1 (A, B, C)`
[1] "a" "c"
> listVennRegions(myV, na.rm = F)
$`0, 0, 0 ()`
[1] NA
$`0, 0, 1 (C)`
[1] NA
$`0, 1, 0 (B)`
[1] NA
$`0, 1, 1 (B, C)`
[1] "d"
$`1, 0, 0 (A)`
[1] NA
$`1, 0, 1 (A, C)`
[1] NA
$`1, 1, 0 (A, B)`
[1] "b"
$`1, 1, 1 (A, B, C)`
[1] "a" "c"
有一个vignette,其中包含有关用法的更多详细信息。