varios studio programa principales paquetes librería librerias instalar instalados descargar r ubuntu cran

studio - r cran project



Cómo instalar y administrar muchas versiones de paquetes R (3)

Estoy desarrollando un marco para la computación reproducible con R. Un problema con el que estoy luchando es que algún código R podría funcionar perfectamente en la versión XY-Z de un paquete, pero luego, ¿por qué intenta reproducirlo 3 años después, los paquetes tienen se actualizan, algunas funciones se cambian y el código ya no se ejecuta. Este problema afecta también, por ejemplo, a documentos de Sweave que utilizan paquetes.

La única forma de reproducir con confianza los resultados es instalando la versión R y la versión de los paquetes que utilizó el autor original. Si se tratara de un solo caso, se podrían extraer elementos de los archivos CRAN e instalar versiones apropiadas. Pero para mi marco esto no es práctico, y necesito tener las versiones del paquete preinstaladas.

Supongamos por ahora que me limito a una versión única de R, por ejemplo, 2.14. ¿Cuál sería una forma práctica de instalar muchas versiones de paquetes R, para poder cargarlos sobre la marcha? Supongo que puedo hacer algo como crear directorios de bibliotecas independientes para cada versión de cada paquete y luego usar argumentos lib.loc personalizados al cargarlos. Esto va a ser desordenado sin embargo. ¿Algún consejo o intentos anteriores de hacer algo similar?

Mi framework se ejecuta en el servidor Ubuntu.


El sistema operativo le brinda aún más manejadores para una separación completa, y la pila Debian / Ubuntu como una tonelada de los disponibles. Dos con los que he jugado son

  • entornos chroot: usamos esto para completar entornos de compilación separados de las máquinas host. Por ejemplo, todas las cargas de Debian que produje están integradas en un chroot i386 pbuilder alojado en mi servidor amd64 Ubuntu. Chroot es una llamada al sistema Unix muy potente. Los chroots, y en particular el sistema pbuilder construido sobre él (para la construcción de paquetes Debian) están destinados a funcionar sin cabeza.

  • Máquinas virtuales: Esto le da total generalidad. Mi no tan potente caja maneja fácilmente tres máquinas virtuales: Debian i386, Ubuntu i386 y Windoze XP. Para esto, actualmente uso KVM junto con libvirt; Esto es específico de Linux. También he usado VirtualBox y VMware en el pasado.


Intentaría modificar el archivo de DESCRIPCIÓN y cambiar el campo "Paquete" allí agregando el número de versión.

Por ejemplo, descarga la fuente del paquete a de la página CRAN (http://cran.r-project.org/web/packages/pls/). Descomprima el archivo comprimido (pls_2.3-0.zip) en un directorio ("pls /"). Los siguientes pasos son cambiar el nombre del paquete en DESCRIPCIÓN ("pls / DESCRIPTION") y la instalación con el comando R ''R CMD INSTALL pls /'', donde ''pls /'' es una ruta al origen del paquete con el archivo de DESCRIPCIÓN modificado.

Jugar con las bibliotecas de R me parece algo peligroso.


Puede instalar paquetes con versiones (p. Ej., foo_1.0 nombre al directorio foo_1.0 lugar de foo ) y crear un enlace suave de las versiones que desea que vuelvan a crear una instantánea de paquetes R + en una biblioteca. Obviamente, los paquetes podrían vivir en un árbol separado, por lo que podría tener library.projectX/foo -> library.all/foo/1.0 .