Dans une démarche de recherche reproductible nous souhaitons créer un package qui permettra de diffuser et de reproduire une analyse. Ce package contiendra les données utilisées et leur documentation, les fonctions utilisées et leur documentation ainsi que l’analyse elle-même.

Le package est la forme naturel de partage dans l’environnement R.

Il est possible de créer un package sans logiciel particulier (notepad++, gedit…) mais grâce à plusieurs outils l’environnement de développement RStudio facilite grandement le processus.

Nous verrons ici comment construire un package avec RStudio, comment y ajouter des données et comment insérer également les analyses sous forme de vignettes.

1 Structure d’un package

La structure des packages R est assez simple. Dans le dossier d’un package il faut obligatoirement :

Et l’on peut rajouter :

2 Création d’un package

2.1 Vérifier l’installation des packages utiles

  • Le package devtools est utile pour compiler et construire les packages R
  • Le package roxygen2 est permet de documenter les fonctions d’un package directement et facilement dans le code et non dans des fichiers séparés d’un formalisme lourd.

2.2 Créer un projet dans RStudio

  1. Créer un nouveau projet dans un nouveau dossier



  2. Choisir un projet vide



  3. Indiquer un nom et un emplacement.

2.3 Paramétrer le projet

Aller dans Build > Configure Build Tools et choisir package



Dans la fenêtre qui s’ouvre cliquer sur Generate documentation with Roxygen puis sur Configure et sélectionner toutes les options.



Notons qu’un onglet Build s’est rajouter dans l’environnement RStudio.

2.4 Créer le dossier /R et un fichier .R

Le dossier du package doit contenir un sous-dossier /R.
Ce dossier contiendra au moins un fichier .R contenant les fonctions du package.

Dans cet exemple nous créons une fonction qui élève au carré un nombre.



Et nous enregistrons la fonction dans un fichier nommé mesFonctions.R.



2.5 Générer et modifier le fichier DESCRIPTION

Les commandes suivantes génèrent automatiquement le fichier DESCRIPTION qui décrit le package succinctement.

library(roxygen2)
library(devtools)
load_all()




Le fichier DESCRIPTION vient d’être créé.



Il faut le modifier un peu pour l’adapter au contenu réel du package.