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 enapt-get install r-cran-mcmcpack- ¿debo esperar problemas? - Supongamos que primero
apt-get install r-cran-mcmcpacky luego eninstall.packages("mcmcpack")- ¿debería haber problemas?
No es tan fácil como parece.
apt-get updatees buena si y cuandoexisten 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 escasalos paquetes son mantenidos, libres de errores y actuales
estás satisfecho con los lanzamientos bianuales de Ubuntu
install.packages()y posteriorupdate.packages()es bueno si y cuandousted 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 deapt-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-getbest 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.