6

私はどのようにvenneuler機能するかを理解しようとしていますが、それは私が予期していなかったベン図を出力します。何かを理解しようとするときは、簡単な例を使って作業するのが好きです。私はそれ以下であると私が信じるマトリックスを供給しています:

列がセットを表し、共起が行の非ゼロ(rep。TRUE)値によって定義される論理行列または数値行列(論理行列の場合は行の重みが1、数値行列の場合は行の合計)。-venneularマニュアル-

2つのものの両方が同じ行に1または0を持っている場合、それらはそれらのvennでオーバーラップしていると思います。したがって、この行列では、wとzに共通の1または0はありません。私は彼らのvennが重ならないことを期待しますが、重なるでしょう(下の図1を参照)。なんで?間違った情報を提供している場合、または再フォーマットする必要がある場合は、説明してください。の計算に含まれている場合は、それvenneularを説明してください。

     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

上記のコード:

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)
4

1 に答える 1

5

これらを試してください - の例と同じです?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)))

ここに画像の説明を入力

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)))

ここに画像の説明を入力

大きな違いはありますか?いいえ、なぜですか?2番目のケースは不可能だからです!面積 = 1 の 3 つの円のうち 2 つが面積 = 0.5 の交点を持ち、3 つすべての交点には何もないことを想像してみてください。

目的のマトリックスを適切に表現したい場合は、VennDiagramパッケージを使用することをお勧めします。

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");

ここに画像の説明を入力

于 2012-10-26T03:50:48.617 に答える