Introduction au langage R

UMR8504 Géographie-Cités

Transversalité Données et protocoles dans les Humanités Numériques

Hugues Pecout

Sommaire

1. Pourquoi utiliser R ?

  • Logiciels vs langages
  • Langages vs langages
  • Présentation de R puis Rstudio
  • Installation



3. Mise en pratique

  • Le projet Rstudio
  • Démonstration
  • Les notebooks
  • Exercice pratique

2. Introduction au langage

  • Les bases du langage
  • Les objet R
  • R-base et packages
  • Aide et documentation


Logiciels vs langages

SAS, SPAD, SPSS… et R !


Il existe de nombreux logiciels d’analyse statistique. Mais depuis le début des années 2000, le langage R gagne en importance dans ce domaine et s’impose progressivement comme une référence, au même titre que les trois principaux logiciels d’analyse de données qui dominent le marché.



Plusieurs aspects peuvent nous laisser penser que de nombreux utilisateurs de logiciels statistiques devraient progressivement converger vers R…

Limites des logiciels propriétaires


  • Des prix de licences parfois onéreux
  • Des problèmes d’intéropérabilité avec les différents OS
  • Des problèmes d’intéropérabilité en matière de données
  • Un développement contrôlé qui induit des limites
  • Des spécificités et une polyvalence limitées

Prix licence SPSS Base edition


Intéropérabilité des principaux logiciels :

Logiciel/Système Windows MacOS Linux BSD Autres Unix
SAS oui terminé oui non oui
SPAD oui non non non non
SPSS oui oui non non non
Stata oui oui oui non non

Autant d’obstacles pour…



  • L’utilisation personnelle
  • Le travail collaboratif
  • Le travail interdisciplinaire
  • La reproductibilité
  • La formation… 😏


C’est pour cela que l’on préfère R…
Mais pourquoi ce langage et pas un autre ?

Frères ennemis


Deux langages de programmation utilisés pour le traitement et l’analyse des données en SHS, et très souvent comparés pour leurs fonctionnalités semblables



L’utilisation de R ou de Python dépend surtout de :
Qui suis-je ? Qu’est-ce que je veux faire ? Avec qui ?

Deux communautés différentes


  • Documentation riche et structurée
  • Communauté accessible et inclusive
  • Discipline : analyse de données
  • Métiers : recherche & développement

  • Plus d’utilisateur·rices
  • Communauté plus spécialisé en informatique
  • Discipline : science des données
  • Métiers : informaticien, développeur

Différents points forts

 

R a autant de cerveau…

  • Plus facile à prendre en main (Rstudio)
  • Analyse statistique
  • Représentation graphique
  • Literate programming (notebook)


→ Spécialisé dans l’analyse statistique
→ Pour utilisateu·rices moins avancés en progr.

…que Python a du muscle !

  • Plus puissant et généraliste
  • Gestion de données volumineuses
  • Web scraping et TAL
  • Développement de logiciel


→ Spécialisé dans la science de données
→ Pour utilisateu·rices avancés en progr.

Le langage ?


En 2008, au MIT, des chercheurs se rassemblent pour faire le point sur les outils disponibles pour le calcul scientifique et statistique. Principal constat, la communauté est éclatée :

  • des développeurs utilisateurs de C ou de python,
  • des statisticiens utilisateurs de R,
  • et des utilisateurs de solutions commerciales ayant leur propre langage (SAS, Matlab…)

il fallait un langage prenant tous les avantages de chaque langage et rajoutant un aspect de plus en plus pointé du doigt : la parallélisation massive (rapidité de calcul)… Le langage Julia est né !


Cependant, le langage Julia ne s’est toujours pas imposé dans la communauté SHS, où R et Python semble toujours les langages les plus utilisés pour l’analyse de données…

Historique


R se base sur le langage de programmation S, créé en 1988.
L’objectif était de créer le meilleur environnement d’analyse statistique.

  • 1992: R. Gentleman et R. Ihaka démarrent le développement (projet de recherche)
  • 1993: Première version binaire de R publiée sur Statlib
  • 1995: R est distribué en tant que logiciel open source, sous licence GPL2
  • 1997: Création du R core group. Création du CRAN (par K. Jornik et F. Leisch)
  • 1999: Création du site web de R (r-project.org) . Première réunion physique de la R core team
  • 2000: R 1.0.0 est publié. John Chambers (créateur du langage S), rejoint la R Core team
  • 2001: Création de R News (qui deviendra R Journal)
  • 2003: Création de la R Foundation
  • 2004: Première conférence UseR! (Vienne)
  • 2004: R 2.0.0 est publié
  • 2009: Première édition du R Journal
  • 2013: R 3.0.0 est plublié
  • 2015: Création du R Consortium (avec la participation de la R Foundation)
  • 2020: R 4.0.0 est plublié

Libre et multi-plateforme



  • R est un logiciel/langage libre (open source)


  • R fait partie de la liste des paquets GNU GPLv3


  • R est multi-plateforme


Logiciel/Sytsème Windows MacOS Linux BSD Autres Unix
R oui oui oui oui oui

Une structure modulaire


R propose 2996 fonctions statistiques et graphiques standard (primitives)

Sur ce socle commun peut s’ajouter de nombreux packages, mis à disposition sur le Comprehensive R Archive Network (CRAN). Ex :

  • FactoMineR - analyse multivariée des données
  • quanteda - analyse textuelle
  • igraph - analyse de réseau
  • sf - manipulation de données spatiales vectorielles
  • terra - manipulation de données spatiales RASTER
  • mapsf - Cartographie thématique
  • shiny - applicacions web interactives


R a une structure modulaire qui offre toute une gamme d’applications possibles. Son expansion n’est limitée que par les contributions !

Des fonctionnalités croissantes…


Nombre de packages disponibles sur le CRAN