Data visualisation des variables catégorielles

visualisation des variables catégorielles

Pour faire suite à un premier article concernant la description des variables catégorielles, publié il y a quelques semaines, je vais vous présenter, dans ce billet, quelques visualisations particulièrement adaptées à la représentation graphique de ce type de données. J’en utilise classiquement trois :

  • les mosaic plots
  • les bar plots
  • et les stacked bar plots.

Pour illustrer cela, je vais employer le même jeu de données que celui du premier article, c’est à dire le jeu de données Melanoma2 que j’ai créé à partir du jeu de données Melanoma du package MASS.

 

1. Les Données

 

2. Les Mosaic plots

Les mosaic plots sont particulièrement adaptés pour représenter les fréquences ou les pourcenatges des combinaisons de 2 variables catégorielles (voir le premier article).
 
Les fréquences sont reportées sur l’axe des Y, alors que l’axe des X comporte les modalités d’une des variables. La seconde variables est représentées par des sous divisions sur l’axe des Y. La somme des fréquences pour chaque modalité de la variable représentée en X vaut 1. Les surfaces des combinaison des deux variables sont proportionnelles à leur fréquence globale. Par exemple ici, le mosaic plot de la combinaison des variables ulcer et sexe :

Les mosaic plot peuvent être réalisés très facilement avec le package ggmosaic.

data visualisation variables catégorielles

 
Les couleurs peuvent facilement être changées grâce à l’addin Colour Picker comme expliqué ici.

Cela est très utile pour, par exemple, mettre au second plan les données du sexe masculin en employant une couleur grise.

data visualisation variables catégorielles
 

Pour changer l’odre des modalités, par exemple pour que “Ulcer=oui” apparaisse en premier, on peut utiliser la fonctionrelevel, comme ceci:

Lorsque la variable catégorielle a plus de deux modalités, comme par exemple la variable status, on peut utiliser la fonction ordered pour définir l’ordre de toutes les modalités. D’abord le mosaic plot avec l’ordre par défaut :

data visualisation variables catégorielles

 

Puis le mosaic plot après la modification de l’ordre des modalités ou niveaux (ou encore levels) de la variable catégorielle status par l’utilisation de la fonction ordered:

data visualisation variables catégorielles

Les espaces entres les différentes zones ont été augmentés à l’aide de l’argument offset (valeur par défauut fixée à 0.01) de la fonction geom_mosaic.

Pour plus de détail sur le package ggmosaic, consultez [sa vignette].(https://cran.r-project.org/web/packages/ggmosaic/vignettes/ggmosaic.html)

 

3. Les bar plots

Les bar plots ne doivent pas être employés pour représenter des données numériques continues, parce qu’ils ne permettent pas :

  • de visualiser la distribution des données
  • de visualiser leur dispersion
  • de visualiser une éventuelle asymétrie des données
  • de mettre en évidence la présence de donées extrêmes (outliers)
  • d’identifier les nombre de données sur lesquels ils reposent.

Pour une bonne démonstration de ces éléments, je vous conseille d’aller voir cet article.

En revanche, les bar plots sont tout à fait adaptés pour représenter des pourcentages avec leurs intervalles de confiance.

Les bar plots peuvent être réalisés très facilement avec le package ggplot2. Pour cela, il est nécessaire de disposer d’un tableau de données avec:

  • une ligne par modalité (ou combinaison de modalités),
  • une colonne contenant les pourcentages,
  • une colonne contenant les bornes inférieures de l’intervalle de confiance,
  • une colonne contenant les bornes supérieures de l’intervalle de confiance,
  • une colonne contenant les modalités de la première variable catégorielle,
  • une colonne contenant les modalités de la seconde variable catégorielle.

Je reprends ici l’exemple de l’article sur la description des variables catégorielles dans lequel je calculais les pourcentages d’hommes et de femmes pour chacune des modalités de la variable status, ainsi que leurs intervalles de confiance. J’ai simplement ajouté, dans le tableau final, les variables sex et status afin de les utiliser comme axe des X et comme argument decouleur.

 

data visualisation variables catégorielles

Là aussi on peut réordonner les niveaux de la variable status pour, par exemple, afficher la modalité vivant en premier, et modifier les couleurs.

data visualisation variables catégorielles

 

4. Les Stacked bar plot

Il existe un autre type de bar plot qui peut être utilisé pour représenter des fréquences ou des pourcentage : le “proportional stacked bar plot”. Ca ressemble assez au mosaic plot, sauf que les barres associées aux modalités d’une des variables catégorielles ont toutes la même largeur, elles ne sont pas proportionnelles à leurs fréquences globales. Ci dessous un exemple pour visualiser les pourcentages des différentes modalités de la variable status (vivant, dcd_autres,
dcd_Melanome) par sexe.

Dans un premier temps, il est nécessaire de créer un tableau de données (data.frame) avec les pourcentages correspondant. Pour chaque sexe, la somme des pourcentages relatifs aux modalités de la variable status doit être égale à 1. Pour cela , on utilise les fonctions table, prop.table décrites dans le premier article sur l’analyse descriptive des variables catégorielles.

On peut ensuite réaliser le plot en utilisant la fonction geom_bar. L’ordre des modalités est géré par l’argument limits de la fonction scale_fill_manual.

 

Et les pie charts (plot en camembert) me direz vous ?

Je n’aime pas les utiliser car lorsqu’il y a plus de 3 ou 4 catégories, ils sont parfois difficiles à lire.

 

5. Pour aller plus loin

Si vous vous intéressez à la visualisation des données, je vous recommande d’aller jeter un coup d’oeil :

 

Et vous, utilisez vous d’autres visualisations pour représenter vos variables catégorielles ? Si oui partagez les en commentaire !

Dans tous les cas, j’espère que cet article vous permettra de représenter plus facilement et plus efficacement vos variables catégorielles. Et si cet article vous a plus,partagez le !

 

Retrouvez ici 3 de mes articles les plus consultés:

12 conseils pour organiser efficacement vos données dans un
tableur

Comment insérer des références bibliographiques dans un document
Rmarkdown
?

Comment retrouver sous R une couleur employée avec Excel
?

Partager l'article
  •  
  •  
  •  
  •  
  •  
    9
    Partages
  • 9
  •  
  •  
  •  
  •  

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *