R 如何从维恩图中获取元素列表
我有一个由3个列表组成的维恩图,我想获得所有不同的子列表,两个列表之间的公共元素,它们之间的树,以及每个列表的唯一元素。有没有办法让这件事尽可能直截了当R 如何从维恩图中获取元素列表,r,venn-diagram,R,Venn Diagram,我有一个由3个列表组成的维恩图,我想获得所有不同的子列表,两个列表之间的公共元素,它们之间的树,以及每个列表的唯一元素。有没有办法让这件事尽可能直截了当 AW.DL <- c("a","b","c","d") AW.FL <- c("a","b", "e", "f") AW.UL <- c("a"
AW.DL <- c("a","b","c","d")
AW.FL <- c("a","b", "e", "f")
AW.UL <- c("a","c", "e", "g")
venn.diagram(
x = list(AW.DL, AW.FL, AW.UL),
category.names = c("AW.DL" , "AW.FL","AW.UL" ),
filename = '#14_venn_diagramm.png',
output=TRUE,
na = "remove"
)
AW.DL我发现包VennDiagram
有一个函数calculate.overlap()
,但我无法找到从该函数命名节的方法。但是,如果使用packagegplots
,则函数venn()
将返回crossions属性
AW.DL <- c("a","b","c","d")
AW.FL <- c("a","b", "e", "f")
AW.UL <- c("a","c", "e", "g")
library(gplots)
lst <- list(AW.DL,AW.FL,AW.UL)
ItemsList <- venn(lst, show.plot = FALSE)
lengths(attributes(ItemsList)$intersections)
要获取元素,只需打印属性(ItemsList)$crossions
:
> attributes(ItemsList)$intersections
$A
[1] "d"
$B
[1] "f"
$C
[1] "g"
$`A:B`
[1] "b"
$`A:C`
[1] "c"
$`B:C`
[1] "e"
$`A:B:C`
[1] "a"
函数venn.diagram()
来自哪个软件包?它来自于软件包venndiagram基本R函数setdiff()
可以很有帮助并且非常简单。OP没有指定它们需要的输出类型。所以我假设他们只想要维恩图每个部分的元素数量。如果使用给定的列表绘制维恩图,您会发现每个部分正好有一个元素。因此,我觉得这也是我的输出结果。非常感谢您的回答,但我正在寻找子列表中元素的名称。对不起,如果不清楚也许这有帮助@约瑟格拉西亚罗德里格斯
> attributes(ItemsList)$intersections
$A
[1] "d"
$B
[1] "f"
$C
[1] "g"
$`A:B`
[1] "b"
$`A:C`
[1] "c"
$`B:C`
[1] "e"
$`A:B:C`
[1] "a"