Pédagogie de la formation au langage R

Que vous ayez appris R il y a plus de 5 ans, ou que vous ne le connaissiez pas du tout, nous proposons nos formations d’initiation ou de remise à niveau directement avec le {tidyverse}. En 2 jours, les participants sont opérationnels pour les tâches les plus importantes de l’analyse de données.

Découvrir ou redécouvrir R

Avec plus de 13000 packages testés et vérifiés sur le CRAN, R est plus puissant que jamais pour l’analyse de données (ou la data science).
Vous avez peut-être entendu dire que R est lent, qu’on ne peut pas travailler avec de gros jeux de données, qu’il n’est pas utilisable en production… Mais ça, c’était avant. Disons que c’était sûrement en partie vrai il y a 10 ans, probablement encore un peu il y a 5 ans.
Si vous vous êtes arrêté à cette époque là, vous devriez redonner une chance à R. Il y a eu de nombreux progrès en rapidité ainsi qu’en capacité à travailler avec de gros jeux et bases de données. Par ailleurs, la tendance actuelle en data science est à la lisibilité et à la reproductibilité du code et des traitements. Et R est devenu un champion dans ce domaine !

Pourquoi nous croyons à l’apprentissage par le {tidyverse} d’abord ?

Déjà, le {tidyverse} c’est quoi ? Retour en juillet 2016 : la conférence UseR! 2016 bat son plein et Hadley Wickham, auteur prolifique de packages R, s’est attaché à construire une suite d’outils graphiques et de manipulation de données cohérents reposant sur une grammaire qui rend la programmation dans R cohérente, lisible et intuitive. Le {tidyverse} est né. Une version françisée mi-secte, mi-astrale en le néologisme “ordocosme” émergeait alors sur Twitter…Pas encore très adopté, certes.

Depuis, vous avez probablement largement entendu parler de Rstudio et de ses packages R tels que {dplyr}, {ggplot2} ou encore {rmarkdown}. Examinons encore comment ils peuvent changer votre vie et surtout comment ils ont changé notre façon de transmettre.

En effet, chez ThinkR, nous croyons à la lisibilité, la reproductibilité, à la production d’un code propre, clair et puissant. C’est la raison pour laquelle nous enseignons “tidyverse first” aux débutants, mais aussi aux personnes qui font du R depuis 10 ans et qui ont peur de se lancer dans ces nouveaux packages.

Démonstration par l’exemple :

Regardons ce jeu de données nommé iris, il est l’un des plus utilisés pour les exemples avec R :

head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa

Pour qui parle anglais, est-il nécessaire d’expliquer les étapes dans le code suivant, programmées avec {dplyr} ? (%>% se lit “ensuite”)

library(tidyverse)
iris %>% 
  filter(Sepal.Length > 5) %>% 
  group_by(Species) %>% 
  summarise(
    mean_sepal_length = mean(Sepal.Length),
    mean_petal_length = mean(Petal.Length)
  )
## # A tibble: 3 x 3
##   Species    mean_sepal_length mean_petal_length
##   <fct>                  <dbl>             <dbl>
## 1 setosa                  5.31              1.51
## 2 versicolor              6.00              4.32
## 3 virginica               6.62              5.57

Ce n’est pas une façon “avancée” de manipuler des données…c’est comme cela que tout le monde devrait apprendre ! Parce que c’est lisible, explicite. Pour reprendre une expression employée en formation “ça dit ce que ça fait et ça fait ce que ça dit”. Il n’y a aucune raison de faire passer les débutants par quelque chose de compliqué s’il existe quelque chose d’efficace pour faire le job. Surtout quand ça concerne 80% des activités : nettoyer, filtrer, agréger, résumer, tracer des graphiques….

R et les packages, ça change tout le temps, on ne peut pas être au courant de tout. Si ça se trouve dans 3 ans, on nous dira qu’il faut utiliser d’autres packages parce que ceux là sont périmés. Pourquoi devrais-je prendre le temps d’apprendre à utiliser ces packages {dplyr} et compagnie ?

Parce qu’ils sont fait pour être compréhensibles par tous, qu’ils sont maintenus par de nombreux développeurs et notamment soutenus par Rstudio. Le risque que ces packages du {tidyverse} deviennent obsolètes est très faible. Leur vocation est de soutenir l’utilisation de R dans un contexte de production et d’industrialisation.

Que peut-on espérer acquérir en 2 jours de formation ?

En deux jours de formation à R, toutes les personnes qui viennent nous voir, même si elles n’ont jamais écrit de code de leur vie, sont capables de lire leurs fichiers Excel, de les mettre dans un format de table acceptable, et d’en sortir des graphiques pertinents, présentables et légendés. Ils sont aussi en mesure d’automatiser l’export de leurs résultats dans des rapports commentés via {rmarkdown}. Là aussi, le besoin de commenter son code pour expliciter les résultats est encouragé et soutenu. Les stagiaires apprennent d’emblée comment rédiger des rapports mis en forme et s’en sortent très bien ! C’est l’approche “.Rmd first”

Les participants se rendent compte que le mois prochain, quand leurs données auront été mises à jour avec les nouveaux chiffres de vente de leur entreprise, ils n’auront qu’à changer le nom du fichier à traiter, à cliquer sur le bouton “tricoter” (“knit”), et ils pourront sortir leur rapport en pdf mis à jour, avec les couleurs de la charte graphique de leur entreprise. Que de copier-coller économisés !

Quelles sont les impressions de nos participants ?

Nous continuons cette approche parce que les réactions à chaud de nos stagiaires sont sans équivoque, quelque soit leur niveau de départ.

Voici ce qu’ils nous disent pendant ou après leurs formations :

“J’avais jamais codé avant. Après 2 jours, je crois que je peux me débrouiller tout seul sur R pour faire mes combinaisons de fichiers et mes graphs.” Emmanuel, utilisateur de Excel pour faire des graphiques.

“{dplyr} c’est puissant quand même ! Et la syntaxe est proche de ce que je connais.” Utilisatrice SQL depuis 5 ans.

“Bon, j’avoue, je vais peut-être écrire mes prochains scripts avec {dplyr}. En tout cas, avec {ggplot2}, c’est sûr !” Thomas, utilisateur R depuis 8 ans.

Quelles sont les étapes d’après ?

Lors des séances suivantes, les contenus deviennent souvent sur-mesure et axés métiers pour compléter le panel des outils dont les participants ont besoin.

De très grosses volumétries à traiter ? Nous formons à {data.table} pour le traitement rapide de très gros jeux de données. Se connecter à des bases de données ? Voyons ensemble ce que {dbplyr} ou {sparklyr} ont dans le ventre. Besoin d’interfaces graphiques pour communiquer interactivement sur vos résultats ? Nous formons à Shiny. Les utilisations possibles de R sont multiples, ils suffit de regarder la liste des fiches thématiques de R pour s’en rendre compte.

En attendant la deuxième partie de la formation, l’approche pédagogique “tidyverse first” et “.Rmd first” rend les utilisateurs opérationnels en deux jours pour la majorité de leurs problèmes. Et ça, ce n’était pas possible il y a 10 ans !

Les bonus du choix de R

Une documentation libre et accessible et surtout une communauté active, solidaire et inclusive ! Voilà qui peut faire la différence…et fait partie intégrante de nos contenus parce qu’il s’agit aussi et surtout de rendre autonome. La documentation est obligatoire pour pouvoir publier un package sur le CRAN. De plus en plus, les packages récents contiennent ce qu’on appelle une vignette, un rapport HTML un peu plus détaillé que la documentation classique (e.g vignette de {attachment}). Voire même un site web, créé automatiquement grâce au package R {pkgdown}, comme celui de notre package {remedy}.
La communauté R est très active sur Internet: réseaux sociaux (#rstats), forums d’entraide comme stackoverflow ou le groupe Slack francophone “Grrr”. Elle est d’autant plus active dans la vraie vie au travers des meetups (e.g. Rladies Paris, Raddicts Paris, Breizh Data Club Rennes) ou des conférences plus larges comme les Rencontres R, les conférences SatRday ou la conférence User

Et si vous voulez décorer votre ordinateur, la communauté R fournit aussi les stickers…

Tentez l’expérience R avec nous, nous vous promettons le meilleur de R… et de nous-mêmes !


À propos de l'auteur

Sébastien Rochette

Sébastien Rochette

Modélisateur, formateur R, joueur de cartographies


À lire également