domingo, 25 de noviembre de 2012

Presentación en la "nueva" Facultad de Estadística



Esta semana he tenido la oportunidad de hacer una presentación en la flamante Facultad de Estudios Estadísticos de la Universidad Complutense de Madrid. Lo de flamante, no porque sea un edificio nuevo ni mucho menos, sino porque desde el 16 de noviembre, oficialmente pasa de ser Escuela Universitaria a Facultad. Por cierto, por mucho que algunos se hayan empeñado en alargarle el nombre, supongo que al final todos la llamaremos Facultad de Estadística, para abreviar. Enhorabuena en todo caso a la Facultad y todos sus integrantes.


Esta presentación ha tenido para mí un significado especial por muchos motivos. En primer lugar, me encanta volver allí donde me formé como estadístico, sea cual sea el motivo. Especialmente después de haber sido uno de los primeros Graduados en Estadística Aplicada de España, gracias a la valentía, esfuerzo y mucho trabajo de los profesores y equipos directivos anterior y actual, que en primer año de aplicación del denostado proceso de Bolonia, implementaron el Grado en Estadística Aplicada en todos los cursos y el curso de adaptación para Diplomados en Estadística, asegurando así una rápida incorporación al nuevo sistema para todos los estudiantes (pasados, presentes y futuros) de la entonces Escuela Universitaria de Estadística. Además, iba invitado por María Villeta, profesora de la asignatura Metodología Seis Sigma para la Mejora de la Calidad, que me empeñé en elegir como optativa cuando en marzo del año 2010 me matriculé en el curso de adaptación al Grado para diplomados a pesar de las dificultades, que no vienen a cuento aquí. Algo me decía que la asignatura me iba a aportar mucho en el futuro, como así ha sido, y con el apoyo y ánimo de María se encendió la chispa de mi posterior "especialización" en el tema.


La Presentación

La presentación era sobre el libro Six Sigma with R,  publicado por Springer y del que soy coautor junto con Javier M. Moguerza y Andrés Redchuk, que tutorizaron mi Proyecto fin de Master en la Universidad Rey Juan Carlos, donde ahora trabajo como investigador mientras realizo el doctorado. Ya he hablado de mi interés en Six Sigma; sobre la segunda parte del título del libro (with R) más que interés es pasión. Desde que empecé a utilizar R y tras las primeras dificultades del autodidacta en R, lo fui dominando (o viceversa) y hoy en día hago todo lo que puedo con R (los R adictos sabemos que con R se puede hacer de todo, incluso encargar pizza).
En la charla, tras presentar a los autores y explicar la génesis del libro, traté de hacer un recorrido por los contenidos  con las citas  de diversos personajes con la que iniciamos cada capítulo, para después hacer algunas reflexiones sobre las oportunidades de lo que viene llamándose Data Science, y de R. Espero que gustara a la audiencia, a la que agradezco su asistencia. Entre los asistentes se encontraba otro de los "inspiradores" de mi trabajo, Mariano Prieto, profesor de la asignatura Calidad Seis Sigma en el Master Universitario en Ingeniería de Sistemas de Decisión. También había alumnos del grado, así como profesores de la Facultad, espero que todos disfrutaran. Me consta que un profesor entusiasta de R, al que le mando saludos y aliento, no pudo asistir a su pesar. Ojalá contemos con él en el próximo congreso internacional de R que se celebrará en España, y tenga la oportunidad de conocerle en persona.



lunes, 17 de septiembre de 2012

Paquetes XML y RCurl en Ubuntu

En mi última instalación de R en Ubuntu 12.04 LTS, al intentar instalar los paquetes XML y RCurl me he encontrado con problemas, que he solucionado de la siguiente forma:

Paquete XML

El problema era:

...
Cannot find xml2-config 
...

Solucionado con:

sudo apt-get install libxml2-dev 

Hay un paquete que se supone lo soluciona e instala, pero no me funcionó:

sudo apt-get install r-cran-xml 

Paquete RCurl

El problema era:

...
Cannot find curl-config 
...

Solucionado con:

sudo apt-get install libcurl4-openssl-dev 

lunes, 10 de septiembre de 2012

Más sobre librerías en R

Trans instalar una nueva versión de R, el primer paso debería ser decirle a R dónde instalar los nuevos paquetes. Yo lo hago así: en el directorio etc de la instalación de R, tenemos que editar el archivo Renviron.site. Aparecen ejemplos "parcheados" para Windows y Unix, en mi caso utilizo la siguiente (en Ubuntu):

R_LIBS=~/Programs/R/library

Así tengo todas las librerías centralizadas, y al cambiar de versión basta con actualizar las librerías con:

update.packages(checkBuilt = TRUE, ask = FALSE)

Instalar Eclipse manualmente en Ubuntu

Gracias a este esupendo vídeo de tabishfuhrer he descubierto cómo instalar Eclipse manualmente en Ubuntu. La instalación "automática" a través de Ubuntu Software Center, instala la versión 3.7, y a mí me interesaba instalar la versión 3.8, que es la última que está soportada por el plugin StatET para programación con R. Resumo debajo los pasos necesarios. Por cierto, el procedimiento sirve para cualquier otra aplicación, por ejemplo lo he utilizado también para instalar GAMS, con el que interactúo desde R para optimización.


  1. Descomprimir Eclipse y poner el contenido en nuestra carpeta de aplicaciones (por ejemplo, /home/emilio/Programs).
  2. Crear ejecutable en /usr/bin: sudo touch /usr/bin/eclipse
  3. Dar permisos al ejecutable: sudo chmod 755 /usr/bin/eclipse
  4. Editar el ejecutable: sudo gedit /usr/bin/eclipse:
#!/bin/bash
export ECLIPSE_HOME="/home/emilio/Programs/eclipse"
$ECLIPSE_HOME/eclipse $*

  1. Crear link: sudo ln -s /usr/bin/eclipse /bin/eclipse
  2. Crear aplicación en el dashboard: sudo gedit /usr/share/applications/eclipse.desktop:
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/home/emilio/Programs/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true


Ahora ya tenemos el icono en el Dashboard y podemos abrir Eclipse como cualquier otro programa.

Actualización:
En Ubuntu 13.10 es necesario cambiar la línea "Exec" del fichero anterior:
Exec=env UBUNTU_MENUPROXY= eclipse


Gracias a este hilo en askubuntu.com:

http://askubuntu.com/questions/361040/eclipse-menus-are-cut-off-or-doesnt-show#363237

domingo, 8 de julio de 2012

Librerías en R


Instalar librerías (paquetes) en R es muy fácil, una vez sabemos su nombre, basta con introducir la siguiente orden en R:

install.packages("SixSigma")

Y para poder utilizar las funciones y datos de la librería, la cargamos en el espacio de trabajo de R:

library("SixSigma")

Pero una cosa que me ha traído un poco de cabeza es dónde se instalan, cómo gestionarlas y, sobre todo, cómo mantenerlas cuando se actualiza a una nueva version de R. Pues bien, para ver dónde están las librerías instaladas en el equipo podemos hacer lo siguiente:

.libPaths()
## [1] "C:/R/library"          "C:/R/R-2.15.1/library"

Podemos añadir nuevas librerías. Por ejemplo en Windows, añadiendo una variable de entorno en las propiedades avanzadas del sistema, como se ve en la imagen:


Una vez tenemos esta variable R_LIBS, los nuevos paquetes que instalemos lo harán en esta librería. Podemos especificar en qué librería queremos que se instale mediante el argumento lib en la función install.packages. En realidad, el valor por defecto es el primer elmento del vector que obtenemos con .libPaths(). Para cada paquete, podemos decidir en cuál de nuestras librerías lo instalamos.

Cuando actualicemos a una nueva versión de R, si tenemos configurada la librería correctamente, los paquetes están disponibles para la nueva versión. No obstante, tendremos que actualizar también los paquetes a la última versión, ya que suele haber cambios en los paquetes con actualización de R, al menos en los que son mantenidos regularmente:

update.packages(checkBuilt = TRUE, ask = FALSE)

Por último, una cosa a tener en cuenta es qué versión de cada paquete tener en cada versión de R. Por ejemplo, la versión 0.6.1 del paquete SixSigma incluye una función nueva que el R-core team ha incluido para evitar mensajes al comprobar los nuevos o actualizados paquetes (globalVariables). Esto significa que en las versiones anteriores a la 2.15.1, el paquete SixSigma 0.6.1 no funcionará, por lo que tendremos que manejar esta situación de algún modo. Igualmente, se puede dar que un paquete que usamos, no funcione correctamente con la última versión de R, y tengamos que utilizar una anterior. Todo esto es un poco más enrevesado y hay varias opciones, por lo que lo dejo para otra ocasión. En la ayuda de ?.libPaths hay información sobre este tema.

Por cierto, yo utilizo Eclipse con el plugin statET, y lógicamente aquí hay que tener bien configuradas las librerías:


Para esta entrada por primera vez he utilizado el paquete knitr:

citation("knitr")
## 
## To cite package 'knitr' in publications use:
## 
##   Yihui Xie (2012). knitr: A general-purpose package for dynamic
##   report generation in R. R package version 0.6.3.
##   http://CRAN.R-project.org/package=knitr
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {knitr: A general-purpose package for dynamic report generation in R},
##     author = {Yihui Xie},
##     year = {2012},
##     note = {R package version 0.6.3},
##     url = {http://CRAN.R-project.org/package=knitr},
##   }
## 

martes, 3 de julio de 2012

Año Internacional de la Estadística (Statistics2013)

The International Year of Statistics (Statistics2013)
El próximo año estamos de celebración. En todo el mundo se celebrará y reconocerá las contribuciones de la Estadística. Se promocionará la importancia de la Estadística  a una amplia gama de destinatarios: comunidad científica, usarios de datos del sector público y privado, medios de comunicación, legisladores, trabajadores, estudiantes y público en general (vamos, a todo el mundo). Toda la información está disponible en la web http://www.statistics2013.org.

Hay una lista de actividades alrededor del mundo relacionadas con la estadística, que imagino irá creciendo en los próximos meses. Se pueden añadir actividades sin que ello comporte compromiso alguno. Es una forma de indicar que se apoyan los objetivos del Año Internacional de la Estadística. Pronto aparecerá el próximo Congreso Internacional de Usuarios de R (useR! 2013) que se celebrará en España en este año tan especial.

Ojalá esta celebración sirva para que se conozca mejor la labor de los estadísticos, y  las contribuciones tanto a la vida cotidiana como a la investigación científica.

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")