簡體   English   中英

Re euler 包 - 顯示錯誤的歐拉圖

[英]R eulerr package - Displays wrong euler Diagram

我正在嘗試使用 R 包 eulerr 創建歐拉圖。 我正在使用以下代碼:

vd <- euler(c(A = 54, B = 22, C = 53, D= 26 ,"A&B" = 20, "A&C" = 29, "A&D"=10, "B&C" = 16, "B&D"=5, "C&D"=7,"A&B&C" = 14, "A&B&D"=5, "A&C&D"=4, "B&C&D"=3,"A&B&C&D"=3),input = c("union"), shape="ellipse")

plot(vd, labels = c("A", "B", "C","D"), main = "Databases",Count=TRUE, quantities = TRUE)

我得到以下結果: 在此處輸入圖片說明 但由此產生的歐拉圖是錯誤的:

  • 並非所有 B 都應包含在 A 中
  • B總共應該是22(圖中只顯示了20的總數)
  • C 總共應該是 53(而不是 51)

我該如何解決這個問題,或者這是一個包錯誤?

error_plot 顯示如下: 區域錯誤: 區域錯誤 殘差:

殘差 不幸的是,殘差圖沒有顯示殘差。 盡管如此,缺失的案例顯示在下面的“正常”殘差統計中。

        original fitted residuals regionError
A             15     15         0       0.004
B              0      0         0       0.000
C             19     19         0       0.005
D             13     13         0       0.003
A&B            4      4         0       0.001
A&C           14     14         0       0.003
A&D            4      4         0       0.001
B&C            2      0         2       0.022
B&D            0      0         0       0.000
C&D            3      3         0       0.001
A&B&C         11     11         0       0.003
A&B&D          2      2         0       0.000
A&C&D          1      1         0       0.000
B&C&D          0      0         0       0.000
A&B&C&D        3      3         0       0.001

diagError: 0.022 
stress:    0.004 

有些區域被遺漏的原因很簡單:圖表不准確,缺少一些區域。 沒有地方放置B&C的標簽,所以這就是 B 和 C 缺少 2 個單位的原因。 可能沒有任何方法(或至少歐拉找不到它)使用橢圓完美地表示您與歐拉圖的組合。 您要么必須接受它不准確,要么嘗試其他解決方案。

同樣,殘差圖無法以圖形方式顯示缺失的殘差,因為沒有區域表示它們。 順便說一下,我是這個包的作者,我對殘差圖有更好的想法,它也會顯示缺失的區域,但我還沒有時間實現它。

關於如何解決問題,這取決於您想要的精度級別。 根據nVenn算法,我編寫了 nVennR 包來創建准比例歐拉圖。 通過鏈接中提到的注意事項,您可以表示更多的集合並顯示每個區域的相對大小。 在你的例子中,

library(nVennR)
myV <- createVennObj(nSets = 4, sNames = c('A', 'B', 'C', 'D'), sSizes = c(0, 26, 53, 7, 22, 5, 16, 3, 54, 10, 29, 4, 20, 5, 14, 3))
myV <- plotVenn(nVennObj = myV)

結果將是: 歐拉圖

根據您的要求,這可能並不令人滿意。 比例是在圓的面積上,而不是區域(你可以看到區域 1, 2, 3, 4 - A&B&C&D - 有空的空間。然而,這個策略克服了 Johan 提到的這些表示中規則形狀的局限性Larsson。如果您有興趣, 小插圖中有更多詳細信息。

歐拉可能會在許多情況下出錯,例如:

vd <- euler(c(A=23578,B=30492,C=63610,"A&B"=563,"A&C"=624,"B&C"=1600,"A&B&C"=308))
plot(vd, labels = c("1", "2", "3"), main = "overlap", cex=2)

顯示三個類別沒有重疊區域的圖表。

我認為這只是一個不准確的工具使用。

暫無
暫無

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

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