Documentation R
Référence R concise et illustrée par des exemples. Lisez le concept, voyez le code, puis pratiquez-le dans un parcours Coddy.
Pour commencer
- Qu'est-ce que R ?Ce qu'est le langage de programmation R, d'où il vient, à quoi il sert et comment il se compare à Python - avec un premier avant-goût de code R exécutable.
- Installer RComment télécharger R depuis le CRAN et l'installer sous Windows, macOS ou Linux, plus RStudio - l'IDE que presque tout le monde utilise pour écrire du R.
- Exécuter un script RToutes les façons d'exécuter du code R : la console interactive, Rscript en ligne de commande, source() depuis R, et les commandes Run et Source de RStudio.
- Syntaxe RLe cœur de la syntaxe R : l'affectation avec <-, les expressions et l'affichage automatique, les appels de fonction avec arguments nommés et la règle « tout est vecteur ».
- CommentairesComment fonctionnent les commentaires en R : le symbole #, pourquoi R n'a pas de vrai commentaire multiligne, le raccourci RStudio pour commenter des blocs, et ce que disent les bons commentaires.
Variables et données
- VariablesComment créer des variables en R avec la flèche <-, quand = est requis à la place, les règles de nommage, et comment lister et supprimer des variables avec ls() et rm().
- Types de donnéesLes types atomiques de R - double, integer, character, logical - plus la différence entre typeof() et class(), et le fonctionnement de la conversion et de la coercition.
- NombresTravailler avec les nombres en R : numeric ou integer, la famille des arrondis, sqrt et log, l'opérateur modulo %%, et les valeurs spéciales Inf et NaN.
- ChaînesTout ce qu'il te faut pour le texte en R : créer des chaînes, les assembler avec paste et paste0, les formater avec sprintf, et les fouiller avec gsub, grepl et strsplit.
- Entrée et sortieComment fonctionne la sortie en R - affichage automatique, print() ou cat(), message() - et comment lire les saisies de l'utilisateur avec readline() et readLines().
Flux de contrôle
- OpérateursTous les opérateurs dont tu as besoin en R - l'arithmétique dont %% et %/%, les comparaisons vectorisées, la distinction & / &&, et %in% pour tester l'appartenance.
- If / ElseLa logique conditionnelle en R - syntaxe if/else if/else, le piège des accolades qui casse les scripts, ifelse() vectorisé pour des vecteurs entiers, et switch() pour les choix multiples.
- Boucles forComment fonctionnent les boucles for en R - parcourir vecteurs et indices, collecter les résultats sans le piège du vecteur qui grandit, next et break, et quand un appel vectorisé bat une boucle.
- Boucles whileComment fonctionnent les boucles while en R - itération pilotée par une condition, repeat avec break comme do-while de R, next, et les habitudes qui t'évitent les boucles infinies.
Structures de données
- VecteursLes vecteurs sont l'unité fondamentale de R - même un nombre isolé en est un. Comment les créer avec c(), les indexer (à partir de 1 !), les filtrer avec des masques logiques, et calculer sur des vecteurs entiers d'un coup.
- ListesLes listes sont le conteneur fourre-tout de R : types mélangés, structures imbriquées, data frames entiers. La compétence clé est de savoir quand [ renvoie une liste plus petite et quand [[ renvoie l'élément lui-même.
- MatricesComment construire des matrices avec matrix(), cbind() et rbind(), indexer lignes et colonnes, et bien distinguer le * élément par élément de la vraie multiplication matricielle %*%.
- FacteursLes facteurs sont la façon dont R stocke les données catégorielles : des codes entiers habillés d'étiquettes texte. Comment les créer, les ordonner, définir le niveau de référence - et éviter le piège facteur vers numérique.
- Data framesLe data frame est le tableur de R : des colonnes nommées de même longueur, chacune avec son type. Comment en construire un, l'évaluer avec str() et head(), et atteindre colonnes, lignes et cellules.
- Valeurs manquantes (NA)NA signifie « inconnu » - et il se propage dans chaque calcul qu'il touche. Comment le détecter avec is.na(), l'ignorer avec na.rm = TRUE, et le supprimer ou le remplacer délibérément.
Fonctions et packages
- FonctionsComment créer une fonction en R - la syntaxe function(x) { }, les valeurs de retour, les arguments par défaut et nommés, les points ..., les fonctions anonymes, et le fonctionnement de la portée.
- Famille applyLa famille apply - apply, lapply, sapply, vapply, mapply et tapply - exécute une fonction sur chaque élément de tes données. Voici ce que fait chacune et quand y recourir.
- PipesCe que signifie %>%, comment fonctionne le pipe natif |> de R de base, les règles et les placeholders de chacun, et lequel utiliser dans du code neuf.
- PackagesComment fonctionnent les packages R : installer depuis le CRAN avec install.packages(), charger avec library(), require() ou library(), pkg::fun(), et les packages à connaître.
- Répertoire de travailOù R cherche les fichiers et comment le contrôler : getwd(), setwd(), list.files(), vider l'environnement avec rm(list = ls()), et pourquoi la sauvegarde automatique .RData est un piège.
Manipulation de données
- dplyrCe qu'est dplyr, comment l'installer, et comment ses six verbes de base plus le pipe transforment du code de data frame confus en pipelines lisibles.
- Filtrer & extraireToutes les façons de garder les lignes et colonnes que tu veux : masques logiques avec crochets, le one-liner subset(), %in%, les pièges des NA, et filter() et select() de dplyr.
- Ajouter des colonnes (mutate)Comment ajouter, transformer et supprimer des colonnes de data frame : df$new <- ..., ifelse() pour les colonnes conditionnelles, transform(), et le mutate() de dplyr avec case_when().
- Renommer des colonnesRenommer des colonnes de data frame en R : names() et colnames(), renommer par position vs par nom, setNames(), dplyr rename(), et nettoyer des en-têtes importés en vrac.
- TriComment fonctionne vraiment le tri en R : sort() pour les vecteurs, pourquoi les data frames ont besoin de l'astuce des indices d'order(), les tris décroissants et multi-colonnes, et arrange() de dplyr.
- Grouper et résumerToutes les façons de calculer des statistiques par groupe en R : compter avec table(), tapply() pour une statistique par groupe, l'interface formule d'aggregate(), et le group_by() de dplyr avec summarize().
- Fusions et jointuresCombiner des data frames par une clé commune : merge() pour les jointures interne, gauche, droite et complète, des noms de clés différents avec by.x/by.y, la famille de jointures de dplyr, et rbind() pour empiler des lignes.
- Pivot (remise en forme)Les formats large et long et comment passer de l'un à l'autre : pivot_longer() et pivot_wider() de tidyr, les anciens noms spread/gather, et reshape() de R de base.
Importation et exportation
- Lire un CSVComment importer des fichiers CSV dans R avec read.csv() - les arguments qui comptent, le piège du répertoire de travail à l'origine de la plupart des échecs, et quand readr::read_csv en vaut la peine.
- Lire ExcelR ne sait pas ouvrir les fichiers .xlsx tout seul - le package readxl comble le vide. Comment lire des feuilles, des plages et des en-têtes, réécrire de l'Excel, et éviter les pièges classiques de l'import Excel.
- Écrire CSV et RDSExporter depuis R : write.csv avec row.names = FALSE (toujours), write.table pour d'autres délimiteurs, et saveRDS pour des allers-retours qui ne perdent pas tes types.
- DatesLa classe Date de R est un compteur de jours déguisé. Comment analyser des chaînes avec as.Date, formater des dates en sortie, les soustraire, construire des séquences, et quand il te faut POSIXct à la place.
Graphiques
- plot()Comment fonctionne la fonction plot() de R - types de graphiques, titres et étiquettes d'axes, couleurs, symboles de points (pch), superposition avec lines() et abline(), et légendes.
- HistogrammeComment faire un histogramme en R avec hist() - choisir les classes, styliser les barres, passer à l'échelle de densité, superposer une courbe normale, et la version ggplot2.
- Boîte à moustachesComment faire une boîte à moustaches en R avec boxplot() - lire la boîte et les moustaches, l'interface formule pour comparer des groupes, le style, et retrouver les nombres derrière.
- Nuage de pointsComment faire un nuage de points en R - tracer deux variables avec plot(), ajouter une droite de régression avec abline(lm()), lisser avec lowess(), et construire une matrice pairs().
- Diagramme en barresComment faire un diagramme en barres en R avec barplot() - depuis un vecteur nommé ou un table(), barres groupées et empilées à partir d'une matrice, style, et geom_col ou geom_bar.
- ggplot2Comment fonctionne ggplot2 - le modèle mental données + aes() + geom, associer ou fixer une esthétique, labs(), facet_wrap(), les thèmes, et l'export avec ggsave().
Statistiques
- Statistiques descriptivesComment résumer des données en R : mean(), median(), sd(), var(), summary(), quantile() - ce que chacune calcule, le détail du n−1 derrière sd(), et pourquoi mode() de R est un piège.
- CorrélationMesure comment deux variables évoluent ensemble avec cor(), teste si la relation est réelle avec cor.test(), et balaie plusieurs variables d'un coup avec une matrice de corrélation.
- Test tRéalise des tests t à un échantillon, à deux échantillons et appariés avec t.test(), et - la partie qui compte vraiment - lis chaque ligne de la sortie : t, df, p-valeur, intervalle de confiance.
- ANOVACompare les moyennes de trois groupes ou plus avec aov(), lis la table d'ANOVA cellule par cellule, et découvre quels groupes diffèrent réellement avec TukeyHSD().
- Régression linéaireAjuste une régression avec lm(), lis chaque bloc de summary() - coefficients, erreurs types, p-valeurs, R carré, statistique F - et fais des prédictions avec predict().
- Régression logistiqueModélise des résultats oui/non avec glm(family = binomial) : lis le résumé, convertis les coefficients en log-cotes en rapports de cotes avec exp(), et obtiens les probabilités prédites de la bonne façon.
- Intervalles de confianceObtiens des intervalles de confiance pour des moyennes, des proportions et des coefficients de modèles - t.test(), prop.test(), confint() - plus ce que « 95 % de confiance » signifie vraiment et comment la taille d'échantillon pilote la largeur.
- Nombres aléatoiresGénère des données aléatoires avec rnorm(), runif(), rbinom() et sample(), rends-les reproductibles avec set.seed(), et décode le système de nommage d/p/q/r des distributions de R.