miércoles, 4 de enero de 2012

Instalar R en Ubuntu desde las fuentes

La instalación automática de software en Ubuntu está muy bien para algunas cosas. Pero cuando quieres disponer de varias versiones de un mismo programa, no es una buena idea.

Utilizo ECLIPSE con el plugin StatET para mi desarrollo en R y producción de publicaciones (artículos, libros, presentaciones) con Sweave y LaTeX. Me gusta  tener instaladas varias configuraciones por varios motivos: asegurarme que el paquete que mantengo (SixSigma) funciona con la última versión aparecida, asegurarme de que las últimas versiones del paquete funcionan en (al menos) la versión anterior a la última de R, o utilizar paquetes que no funcionan, o no lo hacen apropiadamente en las últimas versiones de R (por ejemplo, odfWeave me dio muchos problemas en R-2.14.0 pero me funcionó sin problemas en R-2.12.0).

Aunque en Windows la tarea me resultaba bastante fácil (bastaba con cambiar la ruta de instalación en el Wizard), en Ubuntu no he encontrado una forma rápida de hacerlo (ni siquiera sé si la hay) y sigo las instrucciones paso a paso de la documentación de R. Aunque no soy experto en Linux, tengo que reconocer que tener controlado cada paso y saber lo que estás haciendo es reconfortante.

Yo me instalo las versiones de R que necesito en la home, dentro de una carpeta a la que llamo R, de forma que al hacer copia de seguridad de la carpeta, estoy también haciéndola de mi configuración de R. De paso sé exactamente dónde buscar las cosas (todavía no domino la estructura de carpetas de Linux). Así, en mi home tengo una carpeta R con los directorios de las distintas versiones de R. En vez de la home, ahora utilizo /usr/R. Tras descargar el fichero con las fuentes desde CRAN (por ejemplo en el directorio sources dentro de /usr/R), los pasos que sigo para la configuración que necesito son los siguientes:

sudo tar xvfz R-3.0.1.tar.gz
sudo cd R-2.14.2
sudo ./configure --enable-R-shlib
sudo make
sudo make check
sudo make check-devel

Durante la instalación, se me han presentado problemas de paquetes necesarios, que he resuelto instalándolos:

sudo apt-get install gfortran
sudo apt-get install libreadline6-dev
sudo apt-get install xorg-dev
sudo apt-get install openjdk-7-jdk


Ya solo me falta configurar en ECLIPSE el entorno R de la nueva instalación, y la nueva "Run configuration" para correr y/o depurar los programas en R. Esto ya lo explicó el blog amigo Rparatodos. Eso sí, antes de ejecutar la consola desde Eclipse, tenemos que instalar el packete rj en la versión recién instalada de R, ver el post acerca de la ubicación de librerías:

/usr/R/R-3.0.1/bin/R

> install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.1")