the science for data and r ubuntu debian cran

science - R: apt-get install r-cran-foo vs. install.packages("foo")



r for data science import tidy transform visualize and model data pdf (2)

Al instalar paquetes R (digamos mcmcpack en este ejemplo) en Ubuntu, tengo la opción entre los siguientes dos métodos de instalación:

# Let the distribution''s packaging system take care of installation/upgrades apt-get install r-cran-mcmcpack # Let R take care of installation/upgrades install.packages("mcmcpack")

Preguntas:

  • ¿Alguna de las dos formas de instalar paquetes R se considera una "mejor práctica"?
  • Supongamos que primero install.packages("mcmcpack") y luego en apt-get install r-cran-mcmcpack - ¿debo esperar problemas?
  • Supongamos que primero apt-get install r-cran-mcmcpack y luego en install.packages("mcmcpack") - ¿debería haber problemas?

No es tan fácil como parece.

  • apt-get update es buena si y cuando

    • existen paquetes, pero solo hay alrededor de 150 o más paquetes r-cran-* de un conjunto de más de 2100 paquetes en CRAN, por lo que la cobertura es bastante escasa

    • los paquetes son mantenidos, libres de errores y actuales

    • estás satisfecho con los lanzamientos bianuales de Ubuntu

  • install.packages() y posterior update.packages() es bueno si y cuando

    • usted sabe lo que se necesita para tener instaladas dependencias de tiempo de compilación (además de r-base-dev )

    • no te importa ejecutar update.packages() a mano, así como las actualizaciones de apt-get .

En mi máquina Ubuntu en el trabajo, voy con la segunda solución. Pero como la primera es mejor si tiene suficiente cobertura , hemos creado cran2deb que proporciona más de 2050 paquetes binarios para amd64 e i386, pero solo para las pruebas de Debian. Eso es lo que uso en casa.

En cuanto a la última pregunta sobre si ''deberías esperar problemas'': No, porque R_LIBS_SITE está configurado en /etc/R/Renvironment para ser

# edd Apr 2003 Allow local install in /usr/local, also add a directory for # Debian packaged CRAN packages, and finally the default dir # edd Jul 2007 Now use R_LIBS_SITE, not R_LIBS R_LIBS_SITE=${R_LIBS_SITE-''/usr/local/lib/R/site-library:/ /usr/lib/R/site-library:/usr/lib/R/library''}

lo que significa que los paquetes van a /usr/local/lib/R/site-library mientras que los gestionados por apt van a /usr/lib/R/site-library y (en el caso de paquetes base) /usr/lib/R/library .

Espero que aclare las cosas. La lista de correo r-sig-debian es un lugar más informado para preguntas como esta.


  • Consideraría usar apt-get best practice, ya que obtendrá actualizaciones automáticas a través de las herramientas estándar del sistema.

  • Tener 2 versiones instaladas puede llevarte a situaciones confusas: dependiendo de tu configuración R, podrías cargar otra versión del paquete que esperas; en general, tu versión privada (quizás obsoleta) debería cargarse primero.

  • Véase más arriba.