Menu

Qu'est-ce que R ? Le langage de programmation des données et des statistiques

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.

Cette page contient des éditeurs exécutables - modifiez, exécutez et voyez la sortie instantanément.

Qu'est-ce que R ?

R est un langage de programmation conçu pour une seule mission : travailler avec des données. Les statistiques, l'analyse de données et la visualisation ne sont pas des choses que l'on greffe à R via des bibliothèques - elles sont le langage. Moyennes, modèles, graphiques et lois de probabilité sont fournis d'origine, et la syntaxe est façonnée autour de la question que se posent réellement les gens de la data : « voici une colonne de nombres, dis-moi quelque chose dessus. »

Cette spécialisation, c'est toute la personnalité de R. Un langage généraliste comme Java vous demande de tout construire à partir de primitives. R vous tend un test t en une seule ligne.

Voici R en train de faire ce pour quoi il est né - exécutez-le :

Trois statistiques, trois lignes, aucun import. c() construit un vecteur de valeurs, et mean(), sd() et max() sont intégrés au langage. C'est l'expérience R en miniature.

Une brève histoire

R est issu de S, un langage statistique développé aux Bell Labs dans les années 1970. Au milieu des années 1990, deux statisticiens de l'université d'Auckland - Ross Ihaka et Robert Gentleman - ont construit une implémentation libre et open source des idées de S et l'ont baptisée R, jouant à la fois sur l'initiale de leurs prénoms et sur le S dont elle descend.

R 1.0 est sorti en 2000, et le langage est maintenu par la R Core Team depuis. Parce qu'il était gratuit alors que ses ancêtres commerciaux ne l'étaient pas, R s'est d'abord répandu dans les universités et les laboratoires de recherche - et cet ADN académique se voit encore : quand des statisticiens inventent une nouvelle méthode, un package R qui l'implémente apparaît généralement avant tout le reste.

À quoi sert R

  • Statistiques et analyse de données. Le cas d'usage central. Statistiques descriptives, tests d'hypothèses, régression, séries temporelles - tous citoyens de première classe.
  • Visualisation de données. Les graphiques de base de R en un appel de fonction, et le package ggplot2 est largement considéré comme la meilleure bibliothèque graphique tous langages confondus.
  • Data science. La collection de packages du « tidyverse » (dplyr, tidyr, readr) rend le nettoyage et la restructuration de données désordonnées étonnamment agréables.
  • Bio-informatique. Le projet Bioconductor - des milliers de packages R pour la génomique - fait de R le langage par défaut dans une grande partie de la biologie.
  • Université et recherche. Économie, psychologie, épidémiologie, écologie : si un domaine publie des articles avec des p-values, ses doctorants écrivent probablement du R.
  • Reporting. R Markdown et Quarto transforment le code d'analyse en rapports soignés, en diapositives et en tableaux de bord.

Pourquoi les gens aiment R

Tout est vecteur. Les opérations de R s'appliquent naturellement à des collections entières de valeurs d'un coup - prices * 1.2 augmente chaque prix de 20 %, sans boucle. Une fois que ça fait tilt, le code data devient radicalement plus court. Vous le verrez partout en arrivant aux vecteurs.

Les statistiques sont intégrées. Génération de nombres aléatoires, lois de probabilité, tests statistiques et modèles linéaires vivent dans R de base. Dans la plupart des langages, ce sont des dépendances tierces ; en R, elles sont simplement là.

Le CRAN. Le Comprehensive R Archive Network héberge plus de 20 000 packages soigneusement vérifiés, et chacun passe des contrôles automatisés avant publication. Quelle que soit la méthode de niche utilisée dans votre domaine, quelqu'un l'a empaquetée.

Des graphiques qui respectent votre temps. hist(scores) vous donne un histogramme. Un seul appel. L'analyse exploratoire - regarder les données, ajuster, regarder à nouveau - est exactement ce pour quoi R est optimisé.

R vs Python : la version honnête

C'est la question que pose chaque débutant, alors voici la réponse sans esprit de clocher.

Python est un langage généraliste très bon avec les données. Il gagne quand le travail sur les données n'est qu'une partie d'un système plus grand - une application web, un pipeline ML en production, de la glu d'automatisation. Il a plus d'offres d'emploi attachées, et un seul langage couvre plus de terrain.

R est un langage de données excellent en statistiques. Il gagne quand le travail est l'analyse : explorer des jeux de données, ajuster des modèles statistiques, produire des graphiques et des rapports de qualité publication. Son écosystème statistique est plus profond, et les méthodes de pointe arrivent d'abord en R.

Aucun n'est « meilleur » - ils visent des centres de gravité différents. Si vous êtes dans la recherche, la biostatistique ou des rôles à forte composante analytique, commencez par R. Si vous visez l'ingénierie logicielle avec une saveur data, commencez par Python. Et le secret que les débats en ligne oublient : le second langage demande une fraction de l'effort une fois le premier appris, et beaucoup de professionnels utilisent les deux dans la même semaine.

Essayez tout de suite

Vous n'avez rien à installer pour commencer - les blocs de code de ces pages sont interactifs. Voici un avant-goût un peu plus consistant : simuler des lancers de dés et les résumer.

sample() simule 100 lancers d'un dé, et table() compte combien de fois chaque face est sortie - une table de fréquences en un appel. Remplacez le 100 par 10000 et relancez ; la moyenne se rapproche de 3,5, exactement comme le prédit la théorie des probabilités. Cette boucle - question, code, réponse, ajustement - c'est la sensation de travailler en R.

Quand vous serez prêt à faire tourner R sur votre propre machine, la prochaine étape est installer R et RStudio.

Ce qu'il faut retenir

  • R est un langage libre et open source conçu spécifiquement pour les statistiques, l'analyse de données et la visualisation.
  • Il descend de S, créé par Ross Ihaka et Robert Gentleman au milieu des années 1990 ; R 1.0 est arrivé en 2000.
  • Ses forces : les opérations vectorisées, les statistiques intégrées, les 20 000+ packages du CRAN et des graphiques parmi les meilleurs du marché.
  • R vs Python n'est pas une guerre - R est plus profond pour les statistiques, Python plus large pour l'ingénierie, et beaucoup utilisent les deux.

Prochaine étape : installer R (et RStudio) sur votre propre machine.

Questions fréquentes

À quoi sert la programmation en R ?

R sert aux statistiques, à l'analyse de données et à la visualisation de données. Il domine dans la recherche académique, la biostatistique et la bio-informatique, l'épidémiologie, et tout domaine où la mission est « analyser ce jeu de données et produire des graphiques et des modèles ». Il est moins courant pour créer des applications ou des sites web - ce n'est pas ce pour quoi il a été conçu.

R est-il difficile à apprendre ?

Pour le travail sur les données, R est l'un des langages les plus faciles pour débuter. Charger un jeu de données, calculer des statistiques descriptives et tracer un graphique tiennent chacun en une ligne. Ce qui déroute plus tard, c'est la flexibilité de R - plusieurs façons de faire la même chose - d'où l'intérêt d'apprendre tôt les conventions modernes.

Dois-je apprendre R ou Python ?

Si votre travail est d'abord statistique (recherche, biostatistique, économétrie, reporting), R vous mènera plus loin plus vite. Si vous voulez un seul langage généraliste pour les données plus le scripting, les backends web ou l'ingénierie du machine learning, choisissez Python. Beaucoup de professionnels de la data finissent par utiliser les deux - les concepts se transfèrent.

R est-il gratuit ?

Oui. R est gratuit et open source, publié sous licence GPL. Vous le téléchargez depuis le CRAN sans rien payer, et les milliers de packages du CRAN sont gratuits eux aussi.

Coddy programming languages illustration

Apprendre à coder avec Coddy

COMMENCER