[英]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)
我該如何解決這個問題,或者這是一個包錯誤?
不幸的是,殘差圖沒有顯示殘差。 盡管如此,缺失的案例顯示在下面的“正常”殘差統計中。
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.