Para responder, tengo que dar un poco de contexto.
Para propósitos de reproducibilidad, intento guiar cosas, incluida toda mi configuración R. Tengo un script "initializeR.r" que, entre otras cosas, instala paquetes, y he organizado paquetes en paquetes, como los relacionados con la caché, los relacionados con la visualización, el muestreo, las estadísticas espaciales, etc. - mi propio pequeño vistas de tareas, si lo desea.
Por ejemplo, aquí es un fragmento:
# Profiling & testing
Packages$CodingTools = c("codetools","debug", "profr","proftools","RUnit")
combino algunos de los haces en un paquetes de "mayor" (o primaria) Lista y otros entrar en la lista de "secundaria". Estoy seguro de que instalaré todo en la lista principal; estos son necesarios para tener un entorno R razonable, para usar mis propios scripts, funciones y paquetes, etc. (Por cierto, algunos paquetes se asignan a múltiples paquetes, pero solo unos pocos; Deduzco antes de procesar una lista agregada.)
Luego especifico una biblioteca predeterminada específica de la plataforma, e instálela allí. Sin embargo, esta capacidad es extensible y esta idea se puede ampliar para incluir ubicaciones opcionales para cada paquete de paquete (o paquete): simplemente haga un mapa del nombre del paquete, p. "CodingTools" en un directorio único (ruta de la biblioteca), diga "D:/R/Library/CodingTools". Esto se puede hacer en la secuencia de comandos de inicialización, con las opciones predeterminadas de las listas &, o las ubicaciones se pueden almacenar en otra parte, como una tabla hash, JSON o una base de datos.
Como han dicho otros, las rutas de biblioteca predeterminadas deben comunicarse a R. Esto se puede hacer en .RProfile.site. En mi caso, tengo otro script que se usa para inicializar la instancia R como me gustaría. Intento evitar los archivos de parámetros externos que son leídos por R (por ejemplo, .Rprofile) y, en cambio, hago todas las inicializaciones a través de llamadas a funciones en mi propio paquete (aunque los parámetros todavía son externos). Esto tiende a facilitarme la depuración y reproducción de mi trabajo. Por lo tanto, las rutas de mi biblioteca se pueden incluir en el mismo tipo de JSON donde se especifican las ubicaciones de mis archivos de datos.
Personalmente, quiero alejarme de la definición de los paquetes dentro del script y en su lugar usar JSON, ya que puedo crear más fácilmente diferentes archivos JSON para diferentes configuraciones de configuración. Ya lo hago para la mayoría de los otros propósitos de trabajo reproducible.
Aquí hay [una Q & A relacionada y útil] (http://stackoverflow.com/questions/2988559/how-do-you-use-multiple-versions-of-the-same-r-package). – Iterator