Cómo cargar paquetes en R automáticamente?

¿Podría sugerirme una forma de cargar paquetes en R automáticamente? Quiero decir, quiero iniciar una sesión en R sin necesidad de utilizar la library('package name') varias veces. Supongamos que descargué todos los paquetes que deseo usar la próxima vez que inicie R.

Coloque library(foo) en su archivo .Rprofile o configure R_DEFAULT_PACKAGES : vea ?Rprofile

En particular (porque ?Rprofile es largo y potencialmente intimidante):

Si desea un conjunto diferente de paquetes que los predeterminados al iniciar, inserte una llamada a ‘opciones’ en el archivo ‘.Rprofile’ o ‘Rprofile.site’. Por ejemplo, ‘options (defaultPackages = character ())’ no asociará paquetes adicionales al inicio (solo el paquete ‘base’) (o establecerá ‘R_DEFAULT_PACKAGES = NULL’ como una variable de entorno antes de ejecutar R). El uso de ‘options (defaultPackages = “”))’ o ‘R_DEFAULT_PACKAGES = “‘ ‘impone el sistema R predeterminado.

Dado que probablemente quiera cargar todos los paquetes predeterminados, y luego los adicionales (en lugar de, por ejemplo, no cargar algunos de los paquetes predeterminados), puede poner cualquiera

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

o usando options(defaultPackages=...) :

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

en su .Rprofile para agregar sus paquetes deseados a los valores predeterminados estándar.

edit (copiado de un comentario) para que esto funcione en Rstudio : http://rstudio.org/docs/using/workspaces sugiere que Rstudio ejecuta .Rprofile y luego “Realiza las otras acciones descritas en R Startup [ http: // stat .ethz.ch / R-manual / R-patched / library / base / html / Startup.html ] “(que es lo mismo que ?Rprofile ). Es ambiguo si se ve en Rprofile.site o no.

edición n.º 2 : de acuerdo con los comentarios a continuación, funciona con una versión reciente de Rstudio.

Hay un archivo llamado .Rprofile que no es más que un script que se ejecuta cada vez que se inicia una nueva sesión de R.

Lo que debe hacer es agregarle una library(package) . Si está usando Unix, probablemente esté en su carpeta de inicio como un archivo oculto.

La página de Quick-R sobre la personalización del inicio en R contiene básicamente la misma información que en las respuestas de Ben y Joao, pero tal vez sea un poco más clara. Cree una copia del archivo Rprofile.site con los cambios deseados en su carpeta de inicio (Documentos en Windows) y .Rprofile

EDITAR: noté que R 3.0.0 ya no se ve en la carpeta Documentos, pero utiliza el directorio de inicio del usuario (nombre de usuario) en Windows 7. Esto podría ser un problema de instalación (es decir, que sucedió que instalé R “incorrectamente”) previamente). Sin embargo, la página Quick-R vinculada en esta respuesta indica la forma correcta de hacerlo. Si alguien más encuentra este problema, la solución es copiar .Rprofile al directorio de inicio del usuario.

La respuesta rápida es que debe colocar sus paquetes R en el archivo .Rprofile , como todos sugirieron.

Sin embargo, tenga en cuenta que R leerá este archivo y luego cargará los paquetes base R. Ver desde ? Inicio :

Tenga en cuenta que cuando el sitio y los archivos de perfil de usuario se obtienen solo el paquete base está cargado,

Esto puede causar problemas si el paquete que desea cargar mejora / sobrescribe algunas funciones de base R. Ver por ejemplo con tidyverse :: filter: https://github.com/tidyverse/dplyr/issues/1611

Puedo ver dos soluciones hasta ahora:

  1. Utilice .First.sys() en la primera línea de su archivo .Rprofile : este es el comando que generalmente se ejecuta después de leer .Rprofile, que carga los paquetes en getOption("defaultPackages") .

  2. Actualice la opción defaultPackages : no use library() en su .Rprofile, pero algo así como.

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