2017-05-12 5 views
11

Quel serait le moyen le plus simple de redessiner un diagramme de Venn en utilisant R? Je n'ai pas de données qui ont été utilisées pour générer le diagramme de venn mais le reste des diagrammes ont été dessinés dans R ... Je voudrais garder la même structure, cela signifie que je dois le redessiner en R.Redessiner le diagramme de venn

vous avez une idée de ce qui serait le moyen le plus facile de le faire? That is venn diagram I have to create in R

C'est un code que j'ai utilisé pour d'autres diagrammes de Venn.

v1 <- venn.diagram(list(1=a, 2=b, 3=c, 4=d), filename=NULL, fill=rainbow(4), cex.prop=NULL, cex=1.5) 
png("TEST.png", width=7, height=7, units='in', res=150) 
grid.newpage() 
grid.draw(v1) 
dev.off() 

Répondre

9

Vous pouvez appeler directement les fonctions draw.venn. * Et les zones de chevauchement d'entrée. Ce sera fastidieux mais je pense que c'est votre seule option. vous remarquerez que l'ordre des groupes est différent, il y a peut-être un moyen de contrôler cela, mais je ne suis pas sûr de ce que c'est en ce moment.

a <- c(2411, 12433,939,238, 1575,2483,2923,540) 
b <- c(1575, 2483,2923, 540, 1255, 1330, 615, 622) 
c <- c(1247, 1330, 2483, 12433, 150, 615, 2923, 939) 
d <- c(150,615,2923,939, 1245, 622, 540, 238) 


draw.quad.venn(area1 = sum(a), area2 = sum(b), area3 = sum(c), area4 = sum(d), 
       n12 = sum(a[5:8]), n13 = sum(a[c(2,3,6,7)]), n14 = sum(a[c(3,4,7,8)]), 
       n23 = sum(b[c(2,3,6,7)]), n24 = sum(b[c(3,4,7,8)]), 
       n34 = sum(c[5:8]), 
       n123 = sum(a[6:7]), 
       n134 = sum(a[c(3,7)]), 
       n124 = sum(a[7:8]), 
       n234 = sum(b[c(3,7)]), 
       n1234 = 2923, category = c("A","B","C","D"), 
       fill = colorspace::rainbow_hcl(4), 
       col = colorspace::rainbow_hcl(4)[c(1,3,4,2)], lwd = rep(1, 4)) 

enter image description here

+1

Pouvez-vous me dire comment puis-je trouver quel les vecteurs ne sont pas corrects sur une telle erreur: 'Erreur dans draw.quad.venn (area1 = somme (a), area2 = somme (b), area3 = somme (c),: Impossible: a15 <- n12 - a6 - a11 - a12 produit négatif area' – Rechlay

+0

Désolé pour le commentaire après le premier. Je voudrais juste savoir quel genre d'ordre devrais-je utiliser quand je crée un vecteur de nombres. – Rechlay

+0

Pour la gauche aux ensembles j'ai fait le vecteur en commençant en haut à gauche, et je suis descendu. Pour les bons groupes, j'ai commencé en haut à droite et je suis descendu. Il devrait être apparent si vous regardez mes vecteurs et votre venn original. – emilliman5