| |
LaTeX & R
Encore un site sur R !

Juste quelques trucs pour vous aider à débuter en R & LaTeX centré sur la production de rapports via knitr ou RMarkdown.

En clair je me suis fait un aide mémoire que je partage avec vous.

GGPLOT & NA
Article mis en ligne le 20 juin 2022
dernière modification le 23 juin 2022

par Philippe MICHEL

Vous avez dessiné un beau graphique grâce à ggplot2 mais apparaît une colonne (ou un boxplot...) pour le niveau NA ! Pafois ça a un sens mais mettons -nous dans la situation, fréquente, où on préférerait supprimer cette valeur.


Avoir un graphique de distribution des données manquantes peut souvent être utile, ne serait-ce que pour vérifier visuellement leur répartition régulière.

Créons un data.frame avec des données manquantes & traçons un graphique en violons :

  1. df <- iris
  2. df$Species[c(5,23,44,45,12,125)] <- NA
  3. #
  4. df |>  
  5.   ggplot() +
  6.   aes(x = Species, y = Petal.Length, fill = Species) +
  7.   geom_violin()

Télécharger

Le dernier violon est de trop ! Il existe plusieurs méthodes pour le supprimer sans altérer le reste du graphique ni vos précieuses données. AMHA la plus simple & facilement compréhensible est la suivante :

  1. df |>
  2.   dplyr::filter(!is.na(Species)) |>
  3.   ggplot() +
  4.   aes(x = Species, y = Petal.Length, fill = Species) +
  5.   geom_violin()

Télécharger

Remarques

Quelques remarques sur ce code tout bête :

 Je commence toujours mes ggplot par :

  1. df |>
  2.   ggplot() +
  3. ...

Télécharger

alors que ggplot(df) + ... paraît plus simple. mais le pipe permet d’y insérer une instruction sans tout modifier comme dans notre exemple ou celui-ci.

 Pour la commande filter je précise toujours dplyr::filter car il existe aussi un filter dans le package base d’où erreurs & confusions surtout si ce code est dans un package.

 J’ai volontairement laisser le graphique brut sans aucune personnalisation. Vous pouvez facilement le mettre à votre goût, quelques conseils ici.