2012-10-26 41 views
5

Tôi đang cố gắng hiểu cách venneuler hoạt động và nó xuất ra sơ đồ venn mà tôi không mong đợi. Tôi thích làm việc với các ví dụ đơn giản khi tôi đang cố hiểu điều gì đó. Tôi đang cung cấp ma trận bên dưới mà tôi tin là:Đầu ra venneuler không mong đợi

một ma trận logic hoặc số mà cột đại diện cho bộ và đồng xảy ra được xác định bởi phi zero-giá trị (đại diện TRUE.) Theo hàng (cân nặng một hàng là 1 cho ma trận logic hoặc tổng hàng cho ma trận số). -venneular manual-

Tôi mong đợi nếu cả hai thứ đều có 1 hoặc 0 trong cùng hàng họ sẽ chồng lên nhau trong venn của chúng. Vì vậy, trong ma trận này w và z không có 1 hoặc 0 của chung. Tôi hy vọng venn của họ không chồng chéo nhưng họ làm (xem hình 1 bên dưới). Tại sao? Nếu tôi cung cấp thông tin sai hoặc cần phải định dạng lại, vui lòng giải thích. Nếu nó trong các tính toán của venneular hãy giải thích điều đó.

 w x y z 
[1,] 1 0 1 0 
[2,] 0 0 1 1 
[3,] 0 0 1 1 
[4,] 1 1 0 0 

https://dl.dropbox.com/u/61803503/venn.1.png

Mã cho ở trên:

library(venneuler) 
w <- c(1,0,0,1) 
x <- c(0, 0, 0, 1) 
y <- c(1, 1, 1,0) 
z <- c(0, 1, 1,0) 
a <- cbind(w, x, y, z)  
v <- venneuler(a) 
plot(v) 
+0

tôi nghi ngờ đó là bởi vì với> 3 bộ, không có cách nào tổng quát để sắp xếp 4 vòng tròn trên mặt phẳng để thỏa mãn tất cả các ràng buộc chồng chéo. (Tôi đã không có tham chiếu cho điều đó - nó chỉ là trực giác hình học của tôi.) Phần lớn các chương trình sau 'venneuler()' et al. phải có mục đích làm tốt công việc nhất có thể, mặc dù không có giải pháp hoàn toàn chính xác. –

+0

Rất có thể vì hướng dẫn thảo luận về số dư là chênh lệch 'phần trăm giữa khu vực giao cắt đầu vào và khu vực giao lộ được trang bị'. –

Trả lời

4

Hãy thử những - giống như ví dụ của ?venneuler:

library(venneuler) 
plot(venneuler(c(A=1, B=1, C=1, "A&B"=0.5, "A&C"=0.5, "B&C"=0.5 ,"A&B&C"=0.5))) 

enter image description here

plot(venneuler(c(A=1, B=1, C=1, "A&B"=0.5, "A&C"=0.5, "B&C"=0.5 ,"A&B&C"=0))) 

enter image description here

Có sự khác biệt đáng kể nào không? Không. bởi vì trường hợp thứ hai là không thể! Hãy tưởng tượng làm thế nào mà 2 trong số 3 vòng tròn của khu vực = 1 có giao điểm của khu vực = 0,5, nhưng không có gì trong giao điểm của cả 3?

Bây giờ nếu bạn muốn có một đại diện tốt cho ma trận mong muốn của bạn, tôi khuyên bạn nên sử dụng VennDiagram gói:

library(VennDiagram) 
w <- c(1, 0, 0, 1) 
x <- c(0, 0, 0, 1) 
y <- c(1, 1, 1, 0) 
z <- c(0, 1, 1, 0) 

venn.diagram(
    x = list(w = which(w==1),x = which(x==1),y = which(y==1),z = which(z==1)), 
    height=2000, width=2000, resolution=300, col = "transparent",margin = 0.2, 
    fill = c("cornflowerblue", "green", "yellow", "darkorchid1"), alpha = 0.50, 
    cex = 1.5,filename="~/Desktop/a.tiff",fontfamily = "serif",fontface = "bold", 
    cat.col = c("darkblue", "darkgreen", "orange", "darkorchid4"),cat.cex = 1.5, 
    cat.pos = 0,cat.dist = 0.07,cat.fontfamily = "serif",rotation.degree = 270, 
    label.col = "white"); 

enter image description here

Các vấn đề liên quan