VennDiagram para datos da error?

Tengo los siguientes datos:

Set1    : 82
Set2    : 44
Set3    : 56
Set4    : 53
1,2     : 27
1,3     : 37
1,4     : 30
2,3     : 22
2,4     : 14
3,4     : 19
1,2,3   : 18
1,2,4   : 13
1,3,4   : 20
2,3,4   : 11
1,2,3,4 : 11

1,2 significa Set1 . intersection . Set2, y así ...

Cuando trato de hacer un VennDiagram para este conjunto de datos usando draw.quad.venn, Obtuve el siguiente error,

Error in draw.quad.venn(82, 44, 56, 53, 27, 37, 30, 22, 14, 19, 18, 13,  : 
Impossible: partial areas negative

no entiendo que estoy haciendo mal?

ACTUALIZACIÓN:

La siguiente es la línea de comando que usé:

v.all <- draw.quad.venn( 82, 44, 56, 53, 27, 37, 30, 22, 14, 19, 18, 13, 20, 11, 10, category = c( "Set1", "Set2", "Set3", "Set4" ), fill=c( "red", "blue", "orange", "green" ), cex = 0.75, cat.cex=0.85 )

Curiosamente, cuando uso

v <- venneuler( c( A=82, B=44, C=56, D=53, "A&B"=27, "A&C"=37, "A&D"=30, "B&C"=22, "B&D"=14, "C&D"=19, "A&B&C"=18, "A&B&D"=13, "A&C&D"=20, "B&C&D"=11, "A&B&C&D"=11 ))
plot(v)

¡¡Funciona!!

enter image description here

Así que ahora estoy realmente confundido.

preguntado el 02 de mayo de 12 a las 19:05

Debes a) Mostrar el código que usas para llamar draw.quad.venn (¿cómo sabríamos si lo está llamando incorrectamente?) y b) use dput para mostrar una versión reproducible de estos datos (que podemos poner en nuestro propio código para probar) -

is set1 83 el espacio total para el set uno? o el espacio total no superpuesto para set1? Si es el espacio total, es menor que el área que se superpone con el conjunto 2,3, 4 y XNUMX. -

@ user1317221 no hay nada de malo en que 82 sea el espacio total, ya que 2,3,4 no son disjuntos. Mi apuesta, no haber visto ?draw.quad.venn es que sus argumentos están en el orden incorrecto o (siguiendo su sugerencia) la función quiere espacios no superpuestos, no espacios totales. -

me alegro de que funcione parcelas venneuler A= 82 como el espacio no superpuesto. ¿Revisaste en tu draw.quad.venn que el set1 82 ¿Está destinado a ser espacio total o no superpuesto como @Carl y yo señalamos? ese podría ser el problema original. -

@ user1317221 según mi leal saber y entender en draw.quad.venn Set1 82 está destinado a ser el espacio total. Pero podría estar equivocado. Creo que ahora entiendo lo que decía @Carl. -

2 Respuestas

Las restricciones en el código son sencillas. Aquí está exactamente;

     if (any(a1 < 0, a2 < 0, a3 < 0, a4 < 0, a5 < 0, a6 < 0, a7 < 
            0, a8 < 0, a9 < 0, a10 < 0, a11 < 0, a12 < 0, a13 < 0, 
            a14 < 0, a15 < 0)) {
            stop("Impossible: partial areas negative")
        }

contestado el 31 de mayo de 12 a las 23:05

Sin su código es difícil ayudar. Posiblemente sea imposible dibujar sus datos debido a la forma en que se supone que se superponen. ¿Quizás tienes errores en los datos?

Sin embargo, si se trata de un problema de código, utilizando algunos de sus datos y un paquete diferente, puedo ofrecer una ruta alternativa:

require(venneuler)
m <- as.matrix(c(
0, 27, 37, 30,
27, 0, 22, 14,
37 ,22, 0, 19,
30,14,19,0)byrow=T,nrow=3)
v = venneuler(m)
plot(v)

lo que da da:

Respondido 19 ago 19, 18:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.