web-dev-qa-db-fra.com

Environnement virtuel dans R?

J'ai trouvé plusieurs articles sur les meilleures pratiques, la reproductibilité et le flux de travail dans R, par exemple:

L'une des principales préoccupations est d'assurer la portabilité du code, dans le sens où le déplacer vers une nouvelle machine (éventuellement avec un OS différent) est relativement simple et donne les mêmes résultats.

Issu d'un arrière-plan Python, je suis habitué au concept d'un environnement virtuel. Associé à une simple liste de packages requis, cela permet de garantir que les packages et les bibliothèques installés sont disponible sur n'importe quelle machine sans trop de tracas. Bien sûr, ce n'est pas garanti - différents systèmes d'exploitation ont leurs propres faiblesses et particularités - mais cela vous permet d'obtenir 95% du chemin.

Une telle chose existe-t-elle au sein de R? Même si ce n'est pas aussi sophistiqué. Par exemple, maintenir simplement une liste en texte brut des packages requis et un script qui installera ceux qui manquent?

Je suis sur le point de commencer à utiliser R sérieusement pour la première fois, probablement en collaboration avec Sweave, et j'aimerais idéalement commencer de la meilleure façon possible! Merci pour vos pensées.

54
Gabriel

Je vais utiliser le commentaire publié par @cboettig afin de résoudre cette question.

Packrat

Packrat est un système de gestion des dépendances pour R. Vous offre trois avantages importants (tous axés sur vos besoins de portabilité)

  • Isolé: l'installation d'un package nouveau ou mis à jour pour un projet n'interrompra pas vos autres projets, et vice versa. C'est parce que Packrat donne à chaque projet sa propre bibliothèque de packages privés.

  • Portable: transportez facilement vos projets d'un ordinateur à un autre, même sur différentes plates-formes. Packrat facilite l'installation des packages dont dépend votre projet.

  • Reproductible: Packrat enregistre les versions exactes des packages dont vous dépendez et garantit que ces versions exactes sont celles qui sont installées où que vous alliez.

Et après?

  1. Guide pas à pas: http://rstudio.github.io/Packrat/walkthrough.html

  2. Commandes les plus courantes: http://rstudio.github.io/Packrat/commands.html

  3. Utilisation de Packrat avec RStudio: http://rstudio.github.io/Packrat/rstudio.html

  4. Limitations et mises en garde: http://rstudio.github.io/Packrat/limitations.html

34
Juan David

Le gestionnaire de paquets Anaconda condaprend en charge la création d'environnements R .

conda create -n r-environment r-essentials r-base
conda activate r-environment

J'ai eu une grande expérience en utilisant conda pour maintenir différentes installations Python, spécifiques à l'utilisateur et plusieurs versions pour le même utilisateur. J'ai testé R avec conda et le jupyter-notebook et cela fonctionne très bien. Au moins pour mes besoins, qui comprend des analyses de séquençage d'ARN en utilisant le DEseq2 et les packages associés, ainsi que data.table et dplyr. Il existe de nombreux packages de bioconducteurs disponibles dans conda via bioconda et selon les commentaires sur this SO question =, il semble que install.packages() pourrait aussi fonctionner.

15
joelostblom

Découvrez roveR, la solution de gestion de conteneurs R. Pour plus de détails, voir https://www.slideshare.net/DavidKunFF/ownr-technical-introduction , en particulier la diapositive 12.

Pour installer roveR, exécutez la commande suivante dans R:

install.packages("rover", repos = c("https://lair.functionalfinances.com/repos/shared", "https://lair.functionalfinances.com/repos/cran"))

Pour utiliser pleinement la puissance de roveR (y compris l'installation de versions spécifiques de packages pour la reproductibilité), vous aurez besoin d'accéder à un laiR - pour CRAN, vous pouvez utiliser notre instance de laiR à https: //lair.ownr. io , pour télécharger vos propres packages et les partager avec votre organisation, vous aurez besoin d'une licence laiR. Vous pouvez nous contacter sur l'adresse e-mail dans la présentation liée ci-dessus.

1
David Kun

Pour ajouter à cela:

Remarque: 1. Anaconda est déjà installé 2. Supposons que votre répertoire de travail est "C:"

Pour créer l'environnement souhaité -> "r_environment_name"

C:\>conda create -n "r_environment_name" r-essentials r-base

Pour voir les environnements disponibles

C:\>conda info --envs

. .. ...

Pour activer l'environnement

C:\>conda activate "r_environment_name"

(r_environment_name) C:\>

Lancez Jupyter Notebook et laissez la fête commencer

(r_environment_name) C:\> jupyter notebook

Pour un "requirements.txt" similaire, peut-être que ce lien vous aidera -> Y a-t-il quelque chose comme requirements.txt pour R?

0
djoguns