Ce chapitre est évoqué dans le webin-R #01 (premier contact avec R & RStudio) sur YouTube.

Présentation de R

R est un langage orienté vers le traitement de données et l’analyse statistique dérivé du langage S. Il est développé depuis une vingtaine d’années par un groupe de volontaires de différents pays. C’est un logiciel libre1, publié sous licence GNU GPL.

L’utilisation de R présente plusieurs avantages :

  • c’est un logiciel multiplateforme, qui fonctionne aussi bien sur des sytèmes Linux, Mac OS X ou Windows ;
  • c’est un logiciel libre, développé par ses utilisateurs et modifiable par tout un chacun ;
  • c’est un logiciel gratuit ;
  • c’est un logiciel très puissant, dont les fonctionnalités de base peuvent être étendues à l’aide de plusieurs milliers d’extensions ;
  • c’est un logiciel dont le développement est très actif et dont la communauté d’utilisateurs ne cesse de s’élargir ;
  • les possibilités de manipulation de données sous R sont en général largement supérieures à celles des autres logiciels usuels d’analyse statistique ;
  • c’est un logiciel avec d’excellentes capacités graphiques et de nombreuses possibilités d’export ;
  • avec Rmarkdown2, il est devenu très aisé de produire des rapports automatisés dans divers format (Word, PDF, HTML, …) ;
  • R est de plus utilisé dans tous les secteurs scientifiques, y compris dans le domaine des analyses d’enquêtes et, plus généralement, des sciences sociales.

Comme rien n’est parfait, on peut également trouver quelques inconvénients :

  • le logiciel, la documentation de référence et les principales ressources sont en anglais. Il est toutefois parfaitement possible d’utiliser R sans spécialement maîtriser cette langue ;
  • il n’existe pas encore d’interface graphique pour R équivalente à celle d’autres logiciels comme SPSS ou Modalisa. R fonctionne à l’aide de scripts (des petits programmes) édités et exécutés au fur et à mesure de l’analyse et se rapprocherait davantage de SAS dans son utilisation (mais avec une syntaxe et une philosophie très différentes). Ce point, qui peut apparaître comme un gros handicap, s’avère après un temps d’apprentissage être un mode d’utilisation d’une grande souplesse ;
  • comme R s’apparente davantage à un langage de programmation qu’à un logiciel proprement dit, la courbe d’apprentissage peut être un peu « raide », notamment pour ceux n’ayant jamais programmé auparavant.

Il est à noter que le développement autour de R a été particulièrement actif ces dernières années. On trouvera dès lors aujourd’hui de nombreuses extensions permettant de se « faciliter la vie » au quotidien, ce qui n’était pas vraiment encore le cas il y a 5 ans.

Philosophie de R

Quelques points particuliers dans le fonctionnement de R peuvent parfois dérouter les utilisateurs habitués à d’autres logiciels :

  • Sous R, en général, on ne voit pas directement les données sur lesquelles on travaille ; on ne dispose pas en permanence d’une vue des données sous forme de tableau3, comme sous Modalisa ou SPSS. Ceci peut être déroutant au début, mais on se rend vite compte qu’on n’a pas besoin de voir en permanence les données pour les analyser.
  • Alors qu’avec la plupart des logiciels on réfléchira avec un fichier de données ouvert à la fois, sous R chaque fichier de données correspondra à un objet différent chargé en mémoire, permettant de manipuler très facilement plusieurs objets à la fois (par exemple dans le cadre de fusion de tables4).
  • Avec les autres logiciels, en général la production d’une analyse génère un grand nombre de résultats de toutes sortes dans lesquels l’utilisateur est censé retrouver et isoler ceux qui l’intéressent. Avec R, c’est l’inverse : par défaut l’affichage est réduit au minimum et c’est l’utilisateur qui demande à voir des résultats supplémentaires ou plus détaillés.
  • Sous R, les résultats des analyses sont eux aussi stockés dans des objets et sont dès lors manipulables.

Inhabituel au début, ce fonctionnement permet en fait assez rapidement de gagner du temps dans la conduite des analyses.

Présentation de RStudio

L’interface de base de R est assez rudimentaire (voir figure ci-après).

Interface de R sous Windows
Interface de R sous Windows
Interface de R sous Windows

RStudio est un environnement de développement intégré libre, gratuit, et qui fonctionne sous Windows, Mac OS X et Linux. Il complète R et fournit un éditeur de script avec coloration syntaxique, des fonctionnalités pratiques d’édition et d’exécution du code (comme l’autocomplétion), un affichage simultané du code, de la console R, des fichiers, graphiques et pages d’aide, une gestion des extensions, une intégration avec des systèmes de contrôle de versions comme git, etc. Il intègre de base divers outils comme par exemple la production de rapports au format Rmarkdown. Il est en développement actif et de nouvelles fonctionnalités sont ajoutées régulièrement. Son principal défaut est d’avoir une interface uniquement anglophone.

Interface de RStudio sous Windows
Interface de RStudio sous Windows
Interface de RStudio sous Windows

Pour une présentation plus générale de RStudio on pourra se référer au site du projet : http://www.rstudio.com/.

RStudio peut tout à fait être utilisé pour découvrir et démarrer avec R. Les différents chapitres d’analyse-R partent du principe que vous utilisez R avec RStudio. Cependant, à part les éléments portant sur l’interface de RStudio, l’ensemble du code et des fonctions R peuvent être utilisés directement dans R, même en l’absence de RStudio.

La documentation de RStudio (en anglais) est disponible en ligne à https://support.rstudio.com. Pour être tenu informé des dernières évolutions de RStudio, mais également de plusieurs extensions développées dans le cadre de ce projet, vous pouvez suivre le blog dédié http://blog.rstudio.org/.


  1. Pour plus d’informations sur ce qu’est un logiciel libre, voir : http://www.gnu.org/philosophy/free-sw.fr.html.↩︎

  2. Voir http://rmarkdown.rstudio.com/.↩︎

  3. On verra qu’il est possible avec RStudio de disposer d’une telle vue.↩︎

  4. Voir par exemple la section dédiée à ce sujet dans le chapitre sur la manipulation de données.↩︎