R (langage)

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis R (logiciel))
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir R.
R
Logo.

Date de première version Voir et modifier les données sur Wikidata
Paradigmes Programmation multi-paradigmes : orientée objet, impérative, fonctionnelle, procédurale, réflexive
Auteur Ross Ihaka et Robert Gentleman
Développeurs Projet GNU
Dernière version 3.4.2 ()[1]Voir et modifier les données sur Wikidata
Influencé par S, Scheme
Écrit en C, Fortran et RVoir et modifier les données sur Wikidata
Système d'exploitation Multiplate-forme
Licences GNU GPL
Site web www.r-project.orgVoir et modifier les données sur Wikidata

R est un langage informatique dédié aux statistiques et à la science des données. L'implémentation la plus connue du langage R est le logiciel GNU R.

Le langage R est dérivé du langage S développé par John Chambers et ses collègues au sein des laboratoires Bell.

GNU R est un logiciel libre distribué selon les termes de la licence GNU GPL et disponible sous GNU/Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X et Windows.

Histoire[modifier | modifier le code]

R dans un Terminal sous Linux.

Le projet R naît en 1993 comme un projet de recherche de Ross Ihaka et Robert Gentleman à l'université d'Auckland (Nouvelle-Zélande)[2],[3].

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[4].

La version R 1.0.0, première version officielle du langage R, est publiée le 29 février 2000[2].

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[2],[5]. A ce moment, le langage compte plus de 200 bibliothèques développées par la communauté scientifique qui utilise R[3].

En 2015, plusieurs acteurs économiques importants comme IBM, Microsoft ou encore la société RStudio créent le R Consortium pour soutenir la communauté R et financer des projets autour de ce langage[6].

Distributions[modifier | modifier le code]

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 la distribution proposée par Microsoft[7] ou encore celle de l'entreprise Oracle, Oracle R Distribution[8],[9].

Implémentations[modifier | modifier le code]

L'implémentation la plus connue du langage R est le logiciel GNU R mis à disposition par le R Project[10].

Il existe des projets expérimentaux comme le projet Rho visant à développer des versions plus rapides du langage R[11].

Interfaces[modifier | modifier le code]

R avec l'environnement de développement intégré RStudio.

RStudio est un environnement de développement intégré qui permet de travailler en R, développer de nouvelles bibliothèques et travailler avec des notebooks.

Jupyter est une application web permettant de développer des notebooks en Python, Julia ou en R.

Communauté[modifier | modifier le code]

Communauté des contributeurs[modifier | modifier le code]

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 12 000 bibliothèques sur le Comprehensive R Archive Network (CRAN), GitHub et Bioconductor (en) en février 2017[12].

Le projet Bioconductor comprend à lui seul plus de 1 000 bibliothèques permettant aux chercheurs en biostatistiques d'analyser et décrypter le génome[3].

Communauté des utilisateurs[modifier | modifier le code]

Une enquête menée par Rexer Analytics auprès de 1 300 analystes retrouve 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[13].

Sur Twitter, la communauté se rassemble autour du hashtag rstats[14]. Sur Stack Overflow, il existe une importante communauté autour du tag R[15]. Il existe également une importante blogosphère autour de l'aggrégateur R-Bloggers.

Fonctionnalités[modifier | modifier le code]

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[16].

Manipulation de données[modifier | modifier le code]

R contient de nombreuses bibliothèques de manipulation de données. Le développeur Hadley Wickham a notamment développé les bibliothèques Dplyr et Tidyr qui définissent une grammaire de la manipulation de données.

Visualisation de données[modifier | modifier le code]

R contient de nombreuses bibliothèques de visualisation de données.

La bibliothèque Ggplot2 développée par Hadley Wickham définit une grammaire des graphiques et permet de combiner différentes couches graphiques.

La bibliothèque Leaflet développée par la société RStudio permet de représenter des données géographiques sur des cartes interactives à l'aide de la bibliothèques JavaScript Leaflet.

Communication[modifier | modifier le code]

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.

Le langage Rmarkdown permet de combiner des sections de texte mises en forme en markdown et des sections de code en R 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 ou même des ouvrages entiers.

Applications web[modifier | modifier le code]

Le framework Shiny développé par la société RStudio permet de réaliser des applications web interactives en langage R.

Prix et distinctions[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. https://stat.ethz.ch/pipermail/r-announce/2017/000619.html
  2. a, b et c « Over 16 years of R Project history », sur Revolution Analytics Blog (consulté le 18 février 2017)
  3. a, b et c Tippmann 2015
  4. « Contributors », sur R-project.org (consulté le 18 février 2017)
  5. « The R Foundation », sur R-project.org (consulté le 18 février 2017)
  6. https://www.r-consortium.org/about
  7. Microsoft R Open
  8. Oracle R Distribution
  9. Oracle R Technologies
  10. (en) Hadley Wickham, « Performance », dans Advanced R (lire en ligne)
  11. https://github.com/rho-devel/rho
  12. « RDocumentation », sur RDocumentation.org (consulté le 17 février 2017)
  13. (en) David Smith, « R users: Be counted in Rexer's 2013 Data Miner Survey », Revolution Analytics Blog,‎ (lire en ligne).
  14. https://twitter.com/hashtag/rstats?lang=fr
  15. Tag R sur Stack Overflow, mais également sur le site parent consacré aux statistiques, Cross Validated
  16. https://cran.r-project.org/web/views/
  17. « R », sur Information is Beautiful Awards (consulté le 26 février 2017)

Bibliographie[modifier | modifier le code]

  • (en) Ross Ihaka et Robert Gentleman, « R: A language for data analysis and graphics », Journal of Computational and Graphical Statistics, vol. 5,‎ , p. 299-314
  • (en) Ashley Vance, « Data Analysts Captivated by R’s Power », The New York Times,‎ (lire en ligne)
  • (en) Sylvia Tippmann, « Programming tools: Adventures with R », Nature, vol. 517,‎ , p. 109–110 (DOI 10.1038/517109a)
  • (en) Hadley Wickham, ggplot2 : Elegant Graphics for Data Analysis, Springer, coll. « Use R »,
  • (en) Hadley Wickham, Advanced R, Chapman & Hall/CRC, coll. « The R Series », 1e éd. (lire en ligne)
  • (en) Hadley Wickham, R Packages : Organize, Test, Document, and Share Your Code, O'Reilly Media, (lire en ligne)
  • (en) Garrett Grolemund et Hadley Wickham, R for Data Science, O'Reilly, (lire en ligne)
  • Millot Gaël, Comprendre et réaliser les tests statistiques à l'aide de R, Éditions De Boeck, , 806 p. (présentation en ligne)
  • Husson F, Pagès J et Lê S, Analyse de données avec R, Presses Universitaires de Rennes
  • (en) Julia Silge et David Robinson, Text Mining with R : A Tidy Approach, O'Reilly, (lire en ligne)

Périodiques[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]