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.

Pyramide des âges & ggplot2
Article mis en ligne le 15 décembre 2021
dernière modification le 16 décembre 2021

par Philippe MICHEL

Un barplot un peu particulier bien pratique pour comparer visuellement deux populations.

Partons d’un data.frame nommé [*cas*] contenant au moins les deux rubriques :

  • [*age*] numérique
  • [*sexe*] factorielle à deux niveaux "[**H*]" & "[**F*]"

Et traçons la pyramide des âges soit un barplot horizontal distinguant les hommes des femmes. Tout d’abord créons une variable factorielle contenant les âges classés par dizaines que nous appellerons [*cut.age*] :
 cas$cut.age <- cut(cas$age,seq(0,100,10))
Puis commençons à tracer notre graphique avec les dames en rose & les messieurs en bleu (quelle originalité !). Comme le graphique est pivoté à l’horizontale les axes sont inversés & les réglages de l’axe de y sont sur l’ordonnée.

  1. pyrph <- function(dfx,
  2.            age = age,
  3.            sexe = sexe,
  4.            ff = "F",
  5.            mm = "M",
  6.            titre = "Pyramide des âges") {
  7.     ggplot(dfx) +
  8.       aes(x = {{age}}, fill = {{sexe}}) +
  9.       geom_bar(data = subset(dfx, {{sexe}} == ff),
  10.                aes(y = ..count.. * (-1))) +
  11.       geom_bar(data = subset(dfx, {{sexe}} == mm)) +
  12.       scale_fill_manual(values = c("pink", "light blue")) +
  13.       coord_flip() +
  14.       labs(title = titre) +
  15.       theme_light() +
  16.       theme(
  17.         plot.title = element_text(size = 16, face = "bold"),
  18.         axis.title.x = element_blank(),
  19.         axis.title.y = element_blank(),
  20.         axis.text.x = element_blank(),
  21.         axis.text.y =  element_text(size = 12, face = "bold"),
  22.         legend.position = "bottom",
  23.         legend.title = element_blank(),
  24.       )
  25.   }

Télécharger

Volontairement je n’ai pas modifier le graphisme de base en jouant sur les polices, les traits etc. pour garder un code simple.


Dans la même rubrique