Mardi 25 mai 2021

Avant toutes choses

Nous aurons besoin des packages ggvenn et UpSetR :

  • Vérifier que les packages ggvenn et UpSetR sont bien installés
  • Si non, les installer, puis les charger
library(ggvenn)
library(UpSetR)

Nous allons également avoir besoin des données fruits :

data("fruits", package = "tidyViz")

Visualiser des relations entre listes

Créons une liste d’objets :

flist <- with(fruits,
  list(
    Sucres = nom[Sucres > 20],
    Fibres = nom[Fibres > 2],
    Energie = nom[Energie > 50],
    Potassium = nom[Potassium > 100],
    Crus = nom[groupe == "crus"]
))

Et une matrice binaire

fbin <- with(fruits,
  data.frame(
    Sucres = Sucres > 20,
    Fibres = Fibres > 2,
    Energie = Energie > 50,
    Potassium = Potassium > 100,
    Crus = groupe == "crus"
)) + 0

Diagramme de Venn

Compliqués à lire à partir de 4 ensembles :

ggvenn(flist, set_name_size = 5)

UpSet plot

C’est une méthode de visualisation (récente !) alternative au diagramme de Venn.

Référence : Jake R Conway, Alexander Lex, Nils Gehlenborg, UpSetR: an R package for the visualization of intersecting sets and their properties, Bioinformatics, Volume 33, Issue 18, 15 September 2017, Pages 2938–2940, https://doi.org/10.1093/bioinformatics/btx364

Correspondance

Exemple

upset(fbin)

Mais c’est la même chose que…

upset(fromList(flist))

On peut (beaucoup) personnaliser ce graphe

upset(
  fbin, nintersects = NA, order.by = "freq", 
  main.bar.color = "steelblue", matrix.color = "limegreen",
  sets.bar.color = "tomato", point.size = 2)

A vous !

Imaginez une situation dans laquelle vous pourriez avoir besoin de ce type de graphes.