R intermédiaire
Objectifs pédagogiques
- Acquérir les outils et techniques permettant d’effectuer des traitements sur les données, plus rapidement et plus efficacement.
- Connaître les principaux packages d’analyse statistique.
Programme détaillé
Le livre R pour la statistique et la science des données vous sera offert lors de cette formation
Cette formation s’adresse à des stagiaires ayant déjà manipulé le logiciel R, désireux d’approfondir leurs connaissances sur ses fonctionnalités.
Une première partie est consacrée aux fonctionnalités de base avec un accent mis sur la manipulation de jeux de données, le graphe et la programmation.
Une seconde partie est consacrée à la prise en main de packages statistiques pour la régression linéaire, la régression logistique ou l’analyse factorielle.
Le logiciel est mis en œuvre au travers d’exercices concrets d’application.
Manipulation de données dans R 6h
- Environnement tidyverse
- Importation et exportation
- Création et recodage de variables
- Sélection et regroupement de variables
- Manipulation des dates
- Fusion de tableaux de données
- Premières analyses descriptives
- Les fonctions apply
Le graphe avec R 2h
- Manipulation des fenêtres graphiques
- Graphes de base
- Personnalisation de graphes
La programmation avec R 2h
- Création de ses propres fonctions R
- Boucles
- Structures de contrôle
Packages 2h
- Focus sur quelques packages en particulier pour des analyses statistiques poussées : régression linéaire, régression logistique, arbres de décision, analyse de données.
Public visé
Toute personne souhaitant se perfectionner en R : statisticiens, data analysts, chargés d’études…
Prérequis
Parmi nos formations au langage R, cette formation est le niveau 2. Elle requiert une connaissance du logiciel R (maîtrise du contenu de la formation niveau 1 - R initiation).
Un débutant ou un ancien utilisateur ayant peu de pratique s’orientera donc vers la formation R initiation. Si au contraire vous êtes déjà un utilisateur avancé de R, vous serez peut-être intéressé(e) par nos formations R Expert.
Approche pédagogique
Calculés à partir de 196 avis recueillis depuis 08/03/2016, lors de 28 sessions de cette formation.
Tidyverse ou R de base : deux dialectes pour un même langage
Deux scripts R qui font la même chose peuvent sembler écrits dans des langages différents. L’un enchaîne filter(), group_by() et summarise(), l’autre utilise des crochets, subset() et aggregate(). Ce sont deux dialectes du même langage, et un utilisateur régulier de R rencontrera forcément les deux.
D’où vient le tidyverse
Le tidyverse est un ensemble de packages (dplyr, tidyr, readr, ggplot2, lubridate…) conçus autour de principes communs, en grande partie sous l’impulsion de Hadley Wickham. Ils sont réunis sous ce nom depuis 2016. Leur point de départ est la notion de données tidy (« bien rangées ») : une ligne par observation, une colonne par variable. Les fonctions portent des noms de verbes et s’enchaînent avec un opérateur, le pipe. D’abord apporté par le package magrittr (%>%), il est intégré à R depuis la version 4.1.0, publiée en mai 2021, sous la forme |>.
La même opération, deux écritures
Revenu moyen par région, chez les 30 ans et plus :
# R de base
aggregate(revenu ~ region, data = subset(enquete, age >= 30), FUN = mean)
# tidyverse
library(dplyr)
enquete |>
filter(age >= 30) |>
group_by(region) |>
summarise(revenu_moyen = mean(revenu))
Les deux résultats peuvent pourtant différer. La version formule d’aggregate() écarte par défaut les lignes où revenu manque (na.action = na.omit). Avec summarise(), mean() renvoie NA pour toute région comportant une valeur manquante, sauf à écrire mean(revenu, na.rm = TRUE). Connaître ces comportements par défaut évite des écarts difficiles à expliquer entre deux programmes censés être équivalents.
Lequel choisir ?
Le tidyverse se lit souvent plus facilement, surtout lorsque les opérations s’enchaînent, et ses fonctions ont un comportement homogène. R de base n’exige aucune dépendance, ce qui compte pour du code destiné à durer, à tourner sur un serveur ou à être intégré dans un package. Il reste indispensable pour lire le code existant, et beaucoup de fonctions statistiques (lm(), glm(), t.test()) en relèvent. La famille apply (lapply(), sapply(), tapply()) en est un autre pilier : elle applique une fonction à chaque élément d’une liste ou à chaque groupe, sans écrire de boucle.
En pratique, la plupart des utilisateurs mélangent les deux. L’important est de rester cohérent au sein d’un même script.
Pour écrire ses propres fonctions et les diffuser sous forme de package, voir la formation R expert — Programmation.