Une version actualisée de ce chapitre est disponible sur guide-R : Package

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

Présentation

L’installation par défaut du logiciel R contient le cœur du programme ainsi qu’un ensemble de fonctions de base fournissant un grand nombre d’outils de traitement de données et d’analyse statistiques.

R étant un logiciel libre, il bénéficie d’une forte communauté d’utilisateurs qui peuvent librement contribuer au développement du logiciel en lui ajoutant des fonctionnalités supplémentaires. Ces contributions prennent la forme d’extensions (packages en anglais) pouvant être installées par l’utilisateur et fournissant alors diverses fonctionnalités supplémentaires.

Il existe un très grand nombre d’extensions (plus de 6500 à ce jour), qui sont diffusées par un réseau baptisé CRAN (Comprehensive R Archive Network).

La liste de toutes les extensions disponibles sur CRAN est disponible ici : http://cran.r-project.org/web/packages/.

Pour faciliter un peu le repérage des extensions, il existe un ensemble de regroupements thématiques (économétrie, finance, génétique, données spatiales…) baptisés Task views : http://cran.r-project.org/web/views/.

On y trouve notamment une Task view dédiée aux sciences sociales, listant de nombreuses extensions potentiellement utiles pour les analyses statistiques dans ce champ disciplinaire : http://cran.r-project.org/web/views/SocialSciences.html.

On peut aussi citer le site Awesome R (https://github.com/qinwf/awesome-R) qui fournit une liste d’extensions choisies et triées par thématique.

Le tidyverse

Hadley Wickham est professeur associé à l’université de Rice et scientifique en chef à Rstudio. Il a développé de nombreux extensions pour R (plus d’une cinquantaine à ce jours) qui, pour la plupart, fonctionne de manière harmonisée entre elles. Par ailleurs, la plupart s’intègre parfaitement avec RStudio. Cet ensemble d’extenions est appelé tidyverse et est développé sur GitHub : https://github.com/tidyverse/. Une présentation plus générale du tidyverse est disponible sur le site de RStudio (https://www.rstudio.com/products/rpackages/) et sur un sité dédié (http://tidyverse.org/).

Pour certaines tâches, il peut exister plusieurs solutions / extensions différentes pour les réaliser. Dans la mesure où il n’est pas possible d’être exhaustif, nous avons fait le choix dans le cadre d’analyse-R de choisir en priorité, lorsque cela est possible, les extensions du tidyverse, en particulier haven, readr et readxl pour l’import de données, dplyr, tidyr ou reshape2 pour la manipulation de données, ggplot2 pour les graphiques, lubridate pour la gestion des dates, forcats pour la manipulation des facteurs ou encore stringr pour la manipulation de chaînes de caractères.

Il existe par ailleurs une extension homonyme tidyverse. L’installation (voir ci-dessous) de cette extension permets l’installation automatique de l’ensemble des autres extensions du tidyverse. Le chargement de cette extension avec la fonction library (voir ci-après) permets de charger en mémoire en une seule opération les principales extensions du tidyverse, à savoir ggplot2, tibble, tidyr, readr, purrr et dplyr.

Pour une présentation plus poussée, voir le chapitre consacré au tidyverse.

Installation depuis CRAN

L’installation d’une extension se fait par la fonction install.packages, à qui on fournit le nom de l’extension. Par exemple, si on souhaite installer l’extension ade4 :

install.packages("ade4", dep = TRUE)

L’option dep=TRUE indique à R de télécharger et d’installer également toutes les extensions dont l’extension choisie dépend pour son fonctionnement.

Sous RStudio, on pourra également cliquer sur Install dans l’onglet Packages du quadrant inférieur droit.

Une fois l’extension installée, elle peut être appelée depuis la console ou un fichier script avec la fonction library ou la fonction require :

library(ade4)

À partir de là, on peut utiliser les fonctions de l’extension, consulter leur page d’aide en ligne, accéder aux jeux de données qu’elle contient, etc.

Pour mettre à jour l’ensemble des extensions installées, <dfndata-index=“mise à jour, extensions”> la fonction update.packages suffit :

update.packages()

Sous RStudio, on pourra alternativement cliquer sur Update dans l’onglet Packages du quadrant inférieur droit.

Si on souhaite désinstaller une extension précédemment installée, on peut utiliser la fonction remove.packages :

remove.packages("ade4")

Il est important de bien comprendre la différence entre install.packages et library. La première va chercher les extensions sur internet et les installe en local sur le disque dur de l’ordinateur. On n’a besoin d’effectuer cette opération qu’une seule fois. La seconde lit les informations de l’extension sur le disque dur et les met à disposition de R. On a besoin de l’exécuter à chaque début de session ou de script.

Installation depuis GitHub

Certains packages sont développés sur GitHub. Dès lors, la version de développement sur GitHub peut contenir des fonctions qui ne sont pas encore disponibles dans la version stable disponible sur CRAN. Ils arrivent aussi parfois que certains packages ne soient disponibles que sur GitHub.

L’installation d’un package depuis GitHub est très facile grâce à la fonction install_github de l’extension devtools (que l’on aura préalablement installée depuis CRAN ;-) ).

Mise à jour des extensions

Il est facile de mettre à jour l’ensemble des extensions installées, soit avec la fonction, update.packages soit en cliquant sur Update dans l’onglet Packages du quadrant inférieur droit.