Comment charger des paquets en R automatiquement?
pourriez-vous me suggérer un moyen de charger les paquets dans R automatiquement? Je veux dire, je veux commencer une session en R sans avoir besoin d'utiliser library('package name')
plusieurs fois. Supposons que j'ai téléchargé tous les paquets que je veux utiliser la prochaine fois que je commence R.
4 réponses
Mettre library(foo)
dans votre .Rprofile
fichier ou d'un ensemble R_DEFAULT_PACKAGES
: voir ?Rprofile
...
en particulier (parce que ?Rprofile
est long et potentiellement intimidant):
si vous voulez un ensemble de paquets différent de ceux par défaut lorsque vous démarrer, insérer un appel à "options" dans le".Rprofile " ou "Rprofile.site fichier. Par exemple, " options (defaultPackages = caractère ()) ' n'ajoutera aucun paquet supplémentaire sur de démarrage (uniquement le paquet’ base') (ou défini ‘R_DEFAULT_PACKAGES = NULL’ comme environnement variable avant l'exécution R). En utilisant ' options (defaultPackages ="") ' ou ‘R_DEFAULT_PACKAGES= ""’ renforce le R system default.
puisque vous voulez probablement do que tous les paquets par défaut soient chargés, puis des paquets supplémentaires en plus (plutôt que, disons, de ne pas charger certains paquets par défaut), vous pouvez soit mettre
library("mypackage1")
library("mypackage2")
[etc.]
ou en utilisant options(defaultPackages=...)
:
options(defaultPackages=c(getOption("defaultPackages"),
"mypackage1","mypackage2", ... [etc.]))
dans votre .Rprofile
à ajoutez vos paquets désirés aux valeurs par défaut standard.
modifier (copié à partir du commentaire) re se présente au travail dans Rstudio :
http://rstudio.org/docs/using/workspaces suggère que Rstudio exécute .Rprofile
et puis "Exécute les autres actions décrites dans R Startup [ http://stat.ethz.ch/R-manual/R-patched/library/base/html/Startup.html ]" (qui est la même que ?Rprofile
). Il est ambigu qu'il regarde Rprofile.site
ou non.
edit #2 : selon le commentaire ci-dessous, il ne fonctionne avec une version récente de Rstudio.
il y a un fichier appelé .Rprofile qui n'est rien d'autre qu'un script qui est exécuté chaque fois que vous démarrez une nouvelle session de R.
vous devez y ajouter library(package)
. Si vous utilisez Unix, C'est probablement dans votre dossier personnel en tant que Fichier caché.
la page Quick-R sur la personnalisation du démarrage de R contient essentiellement la même information que dans les réponses de Ben et Joao, mais elle est peut-être un peu plus claire. Créez une copie du fichier Rprofile.site
avec les changements désirés dans votre dossier personnel (Documents sur Windows) et appelez-le .Rprofile
EDIT: j'ai remarqué que R 3.0.0 n'a pas l'air de dossier Documents plus longtemps, mais utilise le répertoire home de l'utilisateur (nom d'utilisateur) sous Windows 7. Cela pourrait être un problème d'installation, cependant (i.e. que j'ai installé R "à tort" auparavant). Toutefois, la page Quick-R liée à cette réponse indique la bonne façon de procéder. Si quelqu'un d'autre rencontre ce problème, la solution est de copier .Rprofile
dans le répertoire de l'utilisateur.
la réponse rapide est que vous devez mettre vos paquets R dans le fichier .Rprofile
, comme tout le monde l'a suggéré.
notez cependant que R lira ce fichier, et chargera alors les paquets de base R . Voir ?Démarrage :
notez que lorsque le site et les fichiers de profil d'utilisateur sont le paquet de base est chargé,
cela peut causer problèmes si le paquet que vous voulez charger améliore/réécrit certaines fonctions de base. Voir par exemple avec tidyverse::filter: https://github.com/tidyverse/dplyr/issues/1611
je peux voir deux solutions jusqu'à présent:
-
utilisez
.First.sys()
à la première ligne de votre fichier.Rprofile
: c'est la commande qui est habituellement exécutée après la lecture du .Rprofile, qui charge les colis dansgetOption("defaultPackages")
. -
mettre à jour l'option defaultPackages : n'utilisez pas
library()
dans votre .Rprofile, mais quelque chose comme.old <- getOption("defaultPackages") options(defaultPackages = c(old, "tidyverse"))