Depuis 1997, une vingtaine de développeurs forment l'équipe de développement de R (R Development Core team). Les membres de cette équipe ont les droits d'écriture sur le code source[9]. Le débute le Comprehensive R Archive Network (CRAN) puis le , R est intégré au Projet GNU.
La version R 1.0.0, première version officielle du langage R, est publiée le [7],[10].
En 2003, l'équipe de développement crée la R Foundation for Statistical Computing pour soutenir le projet R et devenir un point de contact de référence pour ceux qui veulent prendre contact avec la communauté R[7],[11]. À ce moment, le langage compte plus de 200 bibliothèques développées par la communauté scientifique qui utilise R[8].
La version 2.0 est publiée le [12] et la version 3.0 le [13].
En 2015, plusieurs acteurs économiques importants comme IBM, Microsoft ou encore la société RStudio (devenue Posit) créent le R Consortium pour soutenir la communauté R et financer des projets autour de ce langage[14].
Distributions
La distribution la plus connue du langage R est celle du R Project et du Comprehensive R Archive Network (CRAN). Il existe d'autres distributions comme celle proposée par Microsoft[15] ou encore celle de l'entreprise Oracle, Oracle R Distribution[16],[17].
Interfaces
R avec l'environnement de développement intégré RStudio.
Les fonctionnalités de R sont accessibles depuis d'autres langages comme Python, Perl, Ruby, Julia.
Le langage R est intégré à certains SGBDR comme SQL Server depuis la version 2016.
Communauté
Communauté des contributeurs
R dispose d'un très grand nombre de bibliothèques développées par une communauté de contributeurs. À titre d'exemple, le site RDocumentation.org recense plus de 15 000 bibliothèques sur le Comprehensive R Archive Network (CRAN), GitHub et Bioconductor(en) en [19].
Le projet Bioconductor comprend à lui seul plus de 1 000 bibliothèques permettant aux chercheurs en biostatistique d'analyser et décrypter le génome[8].
Communauté des utilisateurs
Une enquête menée en 2013 par Rexer Analytics auprès de 1 300 analystes montre que R est le logiciel le plus souvent utilisé lorsqu'il s'agit d'un travail en entreprise, dans le monde académique, au sein d'organismes publics ou d'ONG et chez les analystes travaillant comme consultants[20].
Sur Stack Overflow, il existe une importante communauté autour du tag R[22]. Il existe également une importante blogosphère autour de l'agrégateur R-Bloggers.
RStudio a lancé son site de questions & réponses autour de R[23].
Des rencontres entre utilisateurs sont régulièrement organisées en particulier au sein de Meetup[24] ou des groupes R-Ladies[25] qui promeuvent la diversité des genres dans la communauté des utilisateurs du langage.
Conférence UseR!
La réunion officielle des utilisateurs de R a lieu chaque année et se nomme « useR »[26]. La première édition a eu lieu à Vienne (Autriche)[27]. Alternant traditionnellement entre l'Europe et l'Amérique chaque année, elle a lieu pour la première fois en Australie en 2018.
Depuis plusieurs conférences ont eu ou auront lieu[28] :
The R Journal est un journal en accès libre consacré à R. On y trouve des articles courts à moyens sur l'utilisation et le développement de R, y compris des bibliothèques, des conseils sur la programmation, des nouvelles du CRAN et des nouvelles de la fondation[31].
La page R Task Views du Comprehensive R Archive Network donne une idée de l'étendue des fonctionnalités et des usages du langage R[32]. Le nombre de packages disponibles est, en 2026, de plus de 20000, avec environ 40% de packages en plus chaque année.
Manipulation et transformations des données avec la collection de bibliothèques tidyverse
Depuis 2015, la manipulation des données en R a été profondément modifiée par la collection de bibliothèques tidyverse, développée par Hadley Wickham et la société RStudio (devenue Posit) :
dplyr définit une grammaire de la manipulation des données, fournissant un ensemble cohérent de verbes qui résolvent les défis les plus courants de manipulation des données[33] ;
tidyr fournit un ensemble de fonctions qui vous aident à obtenir des données bien rangées. Les données « ordonnées » (tidy) sont des données avec une forme cohérente : en bref, chaque variable va dans une colonne et chaque colonne est une variable[34] ;
readr fournit un moyen rapide et convivial de lire les données rectangulaires (comme csv, tsv et fwf). Il est conçu pour analyser avec souplesse de nombreux types de données tout en continuant d'échouer lorsque les données changent de façon inattendue[35] ;
purrr fournit un ensemble complet et cohérent d'outils pour travailler avec des fonctions et des vecteurs. Une fois maîtrisés les concepts de base, purrr permet de remplacer beaucoup de boucles avec du code qui est plus facile à écrire et plus expressif[36] ;
stringr et tidytext appartiennent au tidyverse et améliorent la gestion des chaînes de caractères[45]. Il existe aussi stringi[46].
Séries temporelles
lubridate appartient à tidyverse et améliore la gestion des dates et heures[47].
Une alternative est la bibliothèque xts[48], ou encore zoo pour les séries temporelles irrégulières[49].
Visualisation des données
ggplot2 appartient à tidyverse et définit une grammaire des graphiques permettant de combiner différentes couches graphiques[50]. La libraire scales permet de gérer la mise en forme (étiquettes, échelle, etc.) d'un graphique[51].
Reproductibilité
La bibliothèque markdown permet de combiner des sections de texte mises en forme en markdown et des sections de code en R[52] pour réaliser des rapports au format Microsoft Word ou PDF, des présentations au format Beamer ou HTML5 (slidy.js ou reveal.js), des pages web, des sites web complets, des blogs[53] ou même des ouvrages entiers[54].
Le langage Sweave permet de combiner des sections de code en LaTeX et des sections de code en langage R pour produire des publications scientifiques directement depuis R.
Interactivité
La bibliothèque shiny développée par la société RStudio (devenue Posit) permet de réaliser des applications web interactives en langage R[55].
La bibliothèque plotly permet de transformer des graphiques construits avec la bibliothèque ggplot2 en une version web/interactive via plotly.js[56].
La bibliothèque Leaflet permet de représenter des données géographiques sur des cartes interactives à l'aide de la bibliothèques JavaScript Leaflet[58].
La bibliothèque devtools existe pour les développeurs de bibliothèques[62]. Elle permet notamment de charger des bibliothèques hébergées sous GitHub.
La bibliothèque reticulate permet une interface entre R et Python[63].
data.table est une alternative fournissant une version performante des data.frame avec des améliorations syntaxiques et des fonctionnalités pour une facilité d'utilisation, une commodité et une rapidité de programmation[64].
Exemples
Les exemples suivants illustrent la syntaxe de base du langage, en utilisant l'interpréteur de commandes de R.
Syntaxe
L'affectation se fait avec <- ou = mais le premier est préféré[65].
>x<-c(1,2,3,4,5,6)# Un vecteur ordonné>print(x)# Affiche le vecteur[1]123456>x[1]# le premier élément[1]1>x[0]numeric(0)# Les indices commencent à 1>x[1:3]# Les 3 premiers éléments[1]123>(y<-x^2)# Les valeurs de x au carré. Les deux parenthèses permettent d'afficher le résultat[1]149162536
Structure d'une fonction
Une des grandes forces de R est la facilité de création d'une fonction.
nomdelafonction<-function(arg1,arg2,...){# Déclaration du nom de la fonction et de ses argumentscodereturn(object)}sommedescarres<-function(x){# Exemple de fonctionreturn(sum(x^2))# Renvoie la somme des carrés des éléments de x}
Prix et distinctions
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?