Surplombant des charts à l'aide de R ou Excel

J'ai une masortingce suivante et je veux dessiner un graphique qui se chevauche en utilisant R (préférable) ou Excel.

abc a 1 0.5 0.7 b 0.5 1 0.4 c 0.7 0.4 1 

Par exemple, le tableau ci-dessus montre que a et b ont un chevauchement de 50%, alors que a et c ont 70%.

Si vous voulez un chevauchement, vous avez manqué un numéro – le chevauchement des trois: a , b , c .

Comme Aniko écrit dans le commentaire, vous pouvez utiliser les diagrammes de Venn, par exemple Vennerable de R-forge .

L'installation nécessite certains packages de BioConductor:

 source("http://bioconductor.org/biocLite.R") biocLite(c("graph", "RBGL", "gtools", "xtable")) install.packages("Vennerable", repos="http://R-Forge.R-project.org") 

Vous devez préparer vos données correctement:

 require(Vennerable) x <- Venn( SetNames = c("a", "b", "c"), Weight = c(`100`=1, `010`=1, `001`=1, `110`=0.5, `101`=0.7, `011`=0.4, `111`=.5) # I made this up cause your question miss it ) 

Et voilà:

 plot(x, doWeights=TRUE) 

Venn diagram


Quelques explications supplémentaires.

Les data structures pour le package Vennerable doivent fournir des noms de jeu ( "a" , "b" , "c" dans votre cas) et les fréquences / proportions de chaque intersection. Ces noms 0/1 identifient les sous-sets: 1 signifie "dans le jeu", 0 signifie "non dans l'set". Donc, par exemple:

  • 100 signifie dans a , pas en b , pas en c ,
  • 011 signifie pas dans a , en b , en c

Donc 111 signifie dans les trois sets, qui est manquant dans votre masortingce et il ne peut pas être ajouté là. Pour vos données d'échantillonnage lorsque a & b a un chevauchement de 0,7 et que b & c a 0,4 signifie qu'au less 0,1 est en trois en même time (ou j'ai raté l'interprétation de ces numbers). (note: je pense que j'ai surestimé cette 0.5, parce qu'elle devrait être inférieure à 0.4)

Vous pouvez préparer vos données à Venn plot avant de créer une masortingce, par exemple:

 X <- list( a = c("One", "Two", "Three"), b = c("One", "Three", "Four", "Five", "Seven"), c = c("Three", "Five", "Eight", "Nine", "Ten") ) x <- Venn(X) x # A Venn object on 3 sets named # a,b,c # 000 100 010 110 001 101 011 111 # 0 1 2 1 3 0 1 1 plot(x, doWeights=TRUE)