Comment charger les paquets dans R automatiquement?

Pourriez-vous me suggérer un moyen de charger automatiquement les paquets dans R? Je veux dire, je veux commencer une session dans R sans avoir besoin d’utiliser la library('package name') plusieurs fois. Supposons que je télécharge tous les paquets que je veux utiliser la prochaine fois que je démarre R.

Placez la 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 voulez un ensemble de packages différent de ceux par défaut lorsque vous démarrez, insérez un appel à ‘options’ dans le fichier ‘.Rprofile’ ou ‘Rprofile.site’. Par exemple, ‘options (defaultPackages = character ())’ n’attachera aucun paquet supplémentaire au démarrage (uniquement le paquetage ‘base’) (ou définira ‘R_DEFAULT_PACKAGES = NULL’ comme variable d’environnement avant d’exécuter R). Utiliser ‘options (defaultPackages = “”)’ ou ‘R_DEFAULT_PACKAGES = “”‘ applique la valeur par défaut du système R.

Étant donné que vous voulez probablement que tous les paquets par défaut soient chargés, puis en plus (plutôt que de ne pas charger certains des paquets par défaut), vous pouvez soit mettre

 library("mypackage1") library("mypackage2") [etc.] 

ou en utilisant les options(defaultPackages=...) :

 options(defaultPackages=c(getOption("defaultPackages"), "mypackage1","mypackage2", ... [etc.])) 

dans votre .Rprofile pour append vos paquets souhaités aux valeurs par défaut standard.

edit (copié à partir d’un commentaire) pour que cela fonctionne dans Rstudio : http://rstudio.org/docs/using/workspaces suggère que Rstudio exécute .Rprofile et ensuite “Effectue les autres actions décrites dans R Startup [ http: // stat .ethz.ch / R-manual / R-patched / bibliothèque / base / html / Startup.html ] “(qui est le même que ?Rprofile ). Il est ambigu que ce Rprofile.site ou non Rprofile.site .

edit # 2 : selon le commentaire ci-dessous, il 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.

Ce que vous devez faire est d’y append une library(package) . Si vous utilisez Unix, il s’agit probablement d’un fichier caché dans votre dossier personnel.

La page Quick-R sur la personnalisation du démarrage de R contient essentiellement les mêmes informations 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 modifications souhaitées dans votre dossier personnel (Documents sous Windows) et appelez-le .Rprofile

EDIT: J’ai remarqué que R 3.0.0 ne regarde plus depuis le dossier Documents, mais utilise le répertoire personnel de l’utilisateur (nom d’utilisateur) sous Windows 7. Cela peut être un problème d’installation (c’est-à-dire que j’ai installé R “à tort”) précédemment). Cependant, 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 consiste à copier .Rprofile dans le .Rprofile de l’utilisateur.

La réponse rapide est que vous devez placer vos paquets R dans le fichier .Rprofile , comme tout le monde l’a suggéré.

Notez toutefois que R lira ce fichier, puis chargera les packages de base R. Voir depuis ? Startup :

Notez que lorsque les fichiers du site et du profil utilisateur sont fournis, seul le package de base est chargé,

Cela peut causer des problèmes si le paquet que vous voulez charger améliore / écrase certaines fonctions de base R. Voir par exemple avec tidyverse :: filter: https://github.com/tidyverse/dplyr/issues/1611

Je peux voir deux solutions jusqu’à présent:

  1. Utilisez .First.sys() à la première ligne de votre fichier .Rprofile : c’est la commande qui est généralement exécutée après la lecture du fichier .Rprofile, qui charge les paquets dans getOption("defaultPackages") .

  2. Mettez à jour l’option defaultPackages : n’utilisez pas library() dans votre .Rprofile, mais quelque chose comme.

     old <- getOption("defaultPackages") options(defaultPackages = c(old, "tidyverse"))