簡體   English   中英

如何使用R創建維恩圖?

[英]How to create a Venn Diagram using R?

我使用eulerr包創建了一個維恩圖,但它不允許我自定義它,內圈的輪廓似乎觸及樣本空間圓。 我查看了VennDiagram包裝手冊,但沒有運氣。 有沒有辦法使用ggplot2或任何其他R包創建維恩圖。

我希望做這個用戶試圖用我的數據做的事情。 落入整個樣本空間的3組。 如何通過R中的主矢量繪制維恩圖子集

這是使用eulerr包創建的:

來自https://imgur.com/a/Zh37gaR

這是我的數據。 圓B,C和D應位於圓A中,總共為141.變量a中的35是3維圖和圓(白色空間)之間的空間。

b = c(50,0,9,2,1,0,0,0)
c = c(50,21,0,2,0,3,0,0)
d = c(50,21,9,2,0,3,20,0)
a = c(50, 21, 9, 2,1,3,20,35)

totes = cbind(b,c,d,a)

我不知道如何去做這個並制作一個我可以自定義的可呈現圖表。

當我使用eulerr包時,我在命令中手動輸入了數據。

您可以考慮我的nVennR包。 有了你的數據,

>library(nVennR)
> myV <- plotVenn(list(b = c(50,9,2,1),
+                      c = c(50,21,2,3),
+                      d = c(50,21,9,2,3,20),
+                      a = c(50, 21, 9, 2,1,3,20,35)))
> showSVG(myV, opacity = 0.2, borderWidth = 1)

結果如下:

CONT2

您還可以列出每個區域中的元素:

> listVennRegions(myV)
$`0, 0, 0, 1 (a)`
[1] 35

$`0, 0, 1, 1 (d, a)`
[1] 20

$`0, 1, 1, 1 (c, d, a)`
[1] 21  3

$`1, 0, 0, 1 (b, a)`
[1] 1

$`1, 0, 1, 1 (b, d, a)`
[1] 9

$`1, 1, 1, 1 (b, c, d, a)`
[1] 50  2

請注意,我刪除了列表中的零。 該包將這些零作為元素,列表a中不存在。 如果您有興趣,可以找到算法的插圖Web界面

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM