En résumé
R est un langage conçu pour les statistiques et l’analyse de données. Une fois les données extraites en SQL, R sert à les nettoyer, calculer des indicateurs et produire des graphiques et tableaux de qualité publication. Il est très répandu en biostatistique et en recherche clinique. On l’utilise dans RStudio, un environnement de travail confortable, avec un ensemble de librairies appelé le tidyverse.
Cet article suppose que vous avez parcouru Pourquoi apprendre à coder ? et l’introduction au SQL. SQL sort les données de la base ; R prend ensuite le relais pour les analyser.
Pourquoi R en recherche clinique
R a été créé par et pour des statisticiens. C’est ce qui explique sa popularité en santé :
- Les méthodes statistiques (tests, régressions, modèles de survie…) y sont disponibles nativement ou via des librairies éprouvées.
- Les graphiques produits sont d’excellente qualité et largement acceptés dans les revues scientifiques.
- C’est souvent le langage enseigné en médecine et en santé publique, donc celui de vos futurs collègues et encadrants.
Une librairie, c'est quoi ?
Une librairie (ou package) est un ensemble de fonctions prêtes à l’emploi, écrites par d’autres, qu’on ajoute à R pour étendre ses capacités. On les installe une fois avec install.packages(“nom”), puis on les charge dans chaque script avec library(nom).
RStudio, l’environnement de travail
On n’écrit presque jamais du R « à nu ». On utilise RStudio, un logiciel gratuit qui rassemble dans une même fenêtre l’éditeur de code, la console qui exécute les commandes, les graphiques et l’aide. C’est là que vous passerez tout votre temps.
Le tidyverse : filtrer et transformer
Le tidyverse est un ensemble de librairies qui rend R lisible pour les débutants. Sa librairie centrale, dplyr, fournit un petit vocabulaire de verbes qui correspondent aux gestes du SQL : filter() (filtrer les lignes), select() (choisir les colonnes), group_by() + summarise() (agréger).
On les enchaîne avec le pipe |>, qui se lit « ensuite » : prends les données, ensuite filtre, ensuite regroupe…
library(dplyr)
# À partir d'un tableau `patients` (sexe, age, creatinine)
patients |>
filter(sexe == "F", age > 65) |> # ensuite : garder les femmes de plus de 65 ans
group_by(sexe) |> # ensuite : regrouper par sexe
summarise(
n = n(), # nombre de patientes
creat_moy = mean(creatinine, na.rm = TRUE) # créatinine moyenne
) | sexe | n | creat_moy |
|---|---|---|
| F | 3 | 155.3 |
Si vous avez lu l’article SQL, vous reconnaissez la logique : c’est le même raisonnement — filtrer, regrouper, résumer — dans une syntaxe différente. L’option na.rm = TRUE demande d’ignorer les valeurs manquantes dans le calcul de la moyenne, un point traité dans l’article sur la qualité des données.
Visualiser avec ggplot2
ggplot2, autre pilier du tidyverse, construit un graphique par couches : on déclare les données, ce qu’on met en abscisse et en ordonnée, puis le type de tracé.
library(ggplot2)
ggplot(patients, aes(x = age, y = creatinine)) +
geom_point() + # un nuage de points
geom_smooth(method = "lm") + # une tendance linéaire
labs(
title = "Créatinine selon l'âge",
x = "Âge (années)",
y = "Créatinine (µmol/L)"
)
Chaque + ajoute une couche. On obtient une figure propre en quelques lignes, exportable directement pour un article ou une présentation.
Explorer un tableau
Avant toute analyse, on regarde à quoi ressemblent les données. Quelques fonctions reviennent systématiquement :
head(patients) # les premières lignes
summary(patients) # min, max, moyenne, valeurs manquantes par colonne
nrow(patients) # nombre de lignesCes trois commandes donnent déjà une bonne intuition de la structure et de la qualité d’un jeu de données.
Ressources pour se former
Ce que vous allez apprendre
- Le flux de travail complet : importer, nettoyer, transformer, visualiser, communiquer.
- Écrit par Hadley Wickham (créateur du tidyverse) et Mine Çetinkaya-Rundel, avec des exercices à chaque chapitre.
- La référence pour apprendre le tidyverse en profondeur.
Ce que vous allez apprendre
- Le parcours officiel, de l’installation de R et RStudio aux premiers graphiques.
- Idéal pour démarrer avant d’attaquer R for Data Science.
Ce que vous allez apprendre
- Apprend R depuis la console de R elle-même, en mode interactif.
- Vous codez pour de vrai dès la première minute, avec un retour immédiat.
Parcours conseillé pour R
1. Installez R et RStudio, puis suivez RStudio Education — Beginners pour vos premiers pas (~10 h). 2. Pratiquez avec swirl directement dans la console. 3. Approfondissez avec R for Data Science, à votre rythme. Côté francophone, OpenClassrooms propose aussi des cours d’initiation à R et RStudio appréciés pour démarrer en douceur.
Ne cherchez pas à tout retenir
Personne ne connaît R par cœur. On garde une antisèche à portée de main (les cheatsheets du tidyverse sont excellentes) et on cherche le reste au fur et à mesure. L’important est de comprendre la logique : filtrer, transformer, visualiser.
R et Linkr
Les analyses statistiques que vous concevez dans le Study Designer — définition de la population, calcul de variables — correspondent à ce que vous feriez en R après extraction. Comprendre R vous permet de prolonger une analyse au-delà de ce qu’un outil graphique propose, et de vérifier vos résultats.
- R est le langage des statistiques : idéal pour analyser et visualiser des données une fois extraites en SQL.
- On travaille dans RStudio, avec le tidyverse — un ensemble de librairies qui rend R accessible.
- Les verbes
filter(),select(),group_by(),summarise()reprennent la logique du SQL ;ggplot2construit des graphiques par couches. - Ressources : R for Data Science (gratuit en ligne), RStudio Education, swirl, et les cours OpenClassrooms francophones.
- L'essentiel est la logique — filtrer, transformer, visualiser — pas la mémorisation de la syntaxe.