¿Cómo cambio la ruta de biblioteca predeterminada para los paquetes R?

Intenté instalar el estudio R y R en la unidad local de mi computadora de trabajo en lugar de la carpeta de red de la organización porque todo lo que se ejecuta en la red es realmente lento. Durante la instalación, la ruta de destino muestra que es mi unidad C: local. Sin embargo, cuando instalo un nuevo paquete, la ruta predeterminada que se muestra es mi unidad de red y no hay ninguna opción para cambiar:

.libPaths() [1] "\\\\The library/path/I/don't/want" [2] "C:/Program Files/R/R-3.2.1/library" 

Estoy ejecutando Windows 7 Professional. ¿Cómo puedo eliminar la ruta de la biblioteca [1] y hacer que la ruta [2] sea la principal para todos los paquetes base y todos los paquetes nuevos que instale?

Consulte help(Startup) y help(.libPaths) ya que tiene varias posibilidades donde esto puede haberse establecido. Entre ellos están

  • configurando R_LIBS_USER
  • asignando .libPaths() en .Rprofile o Rprofile.site

y más.

En este caso particular, debe retroceder y deshacerse donde \\\\The library/path/I/don't/want está configurada.

Para ignorarlo de otra manera, debe anularlo, usarlo explícitamente, es decir, a través de

 library("somePackage", lib.loc=.libPaths()[-1]) 

al cargar un paquete.

Windows 7: si sus C:\Program Files (o donde sea que R esté instalado) están bloqueados para escritura, como lo es el mío, entonces se frustrará la edición de RProfile.site (como yo lo hice). Como se especifica anteriormente, actualicé R_LIBS_USER y funcionó. Sin embargo, incluso después de leer el fino manual varias veces y una extensa búsqueda, tardé varias horas en hacer esto. En el espíritu de salvar a alguien más tiempo …

Supongamos que desea que sus paquetes residan en C:\R\Library :

  1. Crea la carpeta C:\R\Library
  2. Haga clic en Start -> Control Panel -> User Accounts -> Change my environmental variables
  3. La ventana Environmental Variables aparece. Si ve R_LIBS_USER , resáltelo y haga clic en Edit . De lo contrario, presione New . Ambas acciones abren una ventana con campos para Variable y Value .
  4. En mi caso, R_LIBS_USER ya estaba allí, y el valor era una ruta a mi escritorio. Agregué a la ruta la carpeta que creé, separada por punto y coma como se mencionó anteriormente. C:\R\Library;C:\Users\Eric.Krantz\Desktop\R stuff\Packages . NOTA: Pude haber eliminado la ruta a la ubicación del escritorio y simplemente dejé C:\R\Library .

Enfrentando el mismo problema (evitando la ruta predeterminada en una red), llegué a esta solución con las sugerencias dadas en otras respuestas.

La solución está editando el archivo Rprofile para sobrescribir la variable R_LIBS_USER que apunta de manera predeterminada al directorio de inicio.

Aquí los pasos:

  1. Cree la carpeta de destino de destino para las bibliotecas, por ejemplo, ~\target .
  2. Encuentra el archivo Rprofile . En mi caso fue en C:\Program Files\R\R-3.3.3\library\base\R\Rprofile .
  3. Edite el archivo y cambie la definición de la variable R_LIBS_USER . En mi caso, reemplacé esta línea file.path(Sys.getenv("R_USER"), "R", con file.path("~\target", "R",

La documentación que respalda esta solución está aquí

Archivo original con:

  if(!nzchar(Sys.getenv("R_LIBS_USER"))) Sys.setenv(R_LIBS_USER= file.path(Sys.getenv("R_USER"), "R", "win-library", paste(R.version$major, sub("\\..*$", "", R.version$minor), sep=".") )) 

Archivo modificado:

 if(!nzchar(Sys.getenv("R_LIBS_USER"))) Sys.setenv(R_LIBS_USER= file.path("~\target", "R", "win-library", paste(R.version$major, sub("\\..*$", "", R.version$minor), sep=".") ))