R Language
Reproductible R
Recherche…
Introduction
Avec «Reproductibilité», nous entendons que quelqu'un d'autre (peut-être à l'avenir) peut répéter les étapes que vous avez effectuées et obtenir le même résultat. Voir la vue des tâches de recherche reproductibles .
Remarques
Pour créer des résultats reproductibles, toutes les sources de variation doivent être corrigées. Par exemple, si un générateur de pseudo-nombres aléatoires est utilisé, la graine doit être corrigée si vous souhaitez recréer les mêmes résultats. Une autre façon de réduire la variation consiste à combiner le texte et le calcul dans le même document.
Les références
Peng, RD (2011). Recherche reproductible en informatique. Science, 334 (6060), 1226-1227. http://doi.org/10.1126/science.1213847
Peng, Roger D. Rapport écrit pour la science des données dans R. Leanpub, 2015. https://leanpub.com/reportwriting .
Reproductibilité des données
dput()
et dget()
Le moyen le plus simple de partager un dput()
données (préférable petit) consiste à utiliser une fonction de base dput()
. Il exportera un objet R sous forme de texte brut.
Remarque: Avant de créer l'exemple de données ci-dessous, assurez-vous de vous trouver dans un dossier vide dans lequel vous pouvez écrire. Exécutez getwd()
et lisez ?setwd
si vous devez changer de dossier.
dput(mtcars, file = 'df.txt')
Ensuite, n'importe qui peut charger l'objet R précis dans son environnement global à l'aide de la fonction dget()
.
df <- dget('df.txt')
Pour les objets de grande taille, il existe plusieurs moyens de les enregistrer de manière reproductible. Voir Entrée et sortie .
Reproductibilité de l'emballage
La reproductibilité des paquets est un problème très courant dans la reproduction de certains codes R. Lorsque différents paquets sont mis à jour, certaines interconnexions entre eux peuvent se briser. La solution idéale au problème consiste à reproduire l’image de la machine du graveur de code R sur votre ordinateur à la date d’écriture du code. Et voici le paquet de checkpoint
.
À partir de 2014-09-17, les auteurs du package font des copies quotidiennes de l'ensemble du référentiel de packages CRAN dans leur propre référentiel miroir - Microsoft R Archived Network. Donc, pour éviter les problèmes de reproductibilité lors de la création d'un projet R reproductible, il suffit de:
- Assurez-vous que tous vos packages (et la version R) sont à jour.
- Incluez la ligne
checkpoint::checkpoint('YYYY-MM-DD')
dans votre code.
checkpoint
va créer un répertoire .checkpoint
dans votre répertoire R_home ( "~/"
). Dans ce répertoire technique, tous les paquets utilisés dans votre projet seront installés. Cela signifie que le checkpoint
examine tous les fichiers .R
de votre répertoire de projet pour collecter tous les appels library()
ou require()
et installe tous les packages requis sous la forme qui existait à CRAN à la date spécifiée.
PRO Vous êtes libéré du problème de reproductibilité du package.
CONTRA Pour chaque date spécifiée, vous devez télécharger et installer tous les packages utilisés dans un projet que vous souhaitez reproduire. Cela peut prendre un certain temps.