Pourriez-vous me suggérer un moyen de charger automatiquement les paquets dans R? Je veux dire, je veux démarrer une session dans 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 lance R.
Mettez library(foo)
dans votre fichier .Rprofile
ou définissez R_DEFAULT_PACKAGES
: voir ?Rprofile
...
En particulier (parce que ?Rprofile
est long et potentiellement intimidant):
Si vous souhaitez utiliser un ensemble de packages différent de celui par défaut, insérez un appel à "options" dans le fichier ".Rprofile" ou "Rprofile.site". Par exemple, ‘options (defaultPackages = character ())’ n’attachera aucun package supplémentaire au démarrage (uniquement le package ‘base’) (ou définira ‘R_DEFAULT_PACKAGES = NULL’ comme variable d’environnement avant de lancer R). L’utilisation de ‘options (defaultPackages =" ")" ou de "R_DEFAULT_PACKAGES =" "" applique la valeur R système par défaut.
Puisque vous avez probablement do voulez charger tous les paquets par défaut, puis des paquets supplémentaires en plus (plutôt que, par exemple, 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
to append vos paquets souhaités aux valeurs par défaut standard.
edit (copié du commentaire) pour que cela fonctionne dans Rstudio : http://rstudio.org/docs/using/workspaces suggère que Rstudio exécute .Rprofile
puis "Effectue les autres actions décrites dans R Démarrage [ http://stat.ethz.ch/R-manual/R- patché/bibliothèque/base/html/Startup.html ] "(identique à ?Rprofile
). Il est ambigu qu'il regarde Rprofile.site
ou pas.
edit # 2 : selon le commentaire ci-dessous, cela fonctionne avec une version récente de Rstudio.
Il existe un fichier appelé .Rprofile qui n’est autre qu’un script à exécuter chaque fois que vous démarrez une nouvelle session de R.
Ce que vous devez faire, c'est y ajouter library(package)
. Si vous utilisez Unix, c'est probablement sur votre dossier de départ en tant que fichier caché.
La page Quick-R sur la personnalisation du démarrage R contient essentiellement les mêmes informations que dans les réponses de Ben et Joao, mais elles sont peut-être un peu plus claires. Créez une copie du fichier Rprofile.site
avec les modifications souhaitées dans votre dossier de départ (Documents sous Windows) et appelez-le .Rprofile
EDIT: J'ai remarqué que R 3.0.0 ne se contente plus du dossier Documents, mais qu'il utilise le répertoire personnel de l'utilisateur (nom d'utilisateur) sous Windows 7. Il peut s'agir d'un problème d'installation (par exemple, l'installation R "à tort" précédemment). Cependant, la page Quick-R liée dans cette réponse indique la bonne façon de procéder. Si quelqu'un rencontre ce problème, la solution consiste à copier .Rprofile
dans le répertoire de base de l'utilisateur.
La réponse rapide est que vous devriez placer vos paquets R dans le fichier .Rprofile
, comme tout le monde l’a suggéré.
Notez cependant que R lira ce fichier et puis chargera les packages de base R. Voir de ? Startup :
Notez que lorsque les fichiers de profil de site et d’utilisateur sont générés uniquement, les fichiers le paquet de base est chargé,
Cela peut poser problème si le paquet que vous voulez charger améliore/écrase certaines fonctions de base de R. Voir par exemple avec tidyverse :: filter: https://github.com/tidyverse/dplyr/issues/1611
Je peux voir deux solutions jusqu'à présent:
Utilisez .First.sys()
sur la première ligne de votre fichier .Rprofile
: il s'agit de la commande généralement exécutée après la lecture du fichier .Rprofile, qui charge les packages dans getOption("defaultPackages")
.
Mettez à jour l'option defaultPackages: n'utilisez pas library()
dans votre fichier .Rprofile, mais quelque chose comme.
old <- getOption("defaultPackages")
options(defaultPackages = c(old, "tidyverse"))