viernes, 30 de abril de 2010

Paquete estadístico "R": Uso de la consola

Convenciones
>              Ejecutar en la consola de R
~$            Ejecutar en la consola de Linux
cursiva     Identificador variable


Arrancar la consola
~$ R

Arrancar la consola con derechos de superusuario (para instalación)
~$ sudo R


Instalar paquete descargado

> install.packages ("ruta archivo .gz")

Instalar paquete de repositorios

> install.packages ("paquete", dependencies=TRUE)




Actualizar paquetes

> update.packages()


Exportar gráfico generado

Antes de ejecutar el gráfico, debemos dar la instrucción con el tipo de gráfico que queremos guardar:

> jpeg("archivo.jpg")

Después ejecutamos el gráfico, por ejemplo:

> plot(x)

Y por último, para que se guarde el gráfico:

> dev.off()






En vez de jpeg, se puede utilizar png, bmp o tiff.



lunes, 26 de abril de 2010

San Isidoro de Sevilla, patrón de Estadística

Ahora que vuelvo a estar en contacto con la Estadística, aprovecho el día del patrón de la Escuela Universitaria de Estadística de la Universidad Complutense de Madrid para conocer más del personaje, y recordar alguna cosa curiosa.

Lo primero que me viene a la cabeza, sin contar que en los tres años de Universidad era un día sin clase, es que posteriormente por motivos de trabajo pasé un día en León. Yo no había estado nunca, pero el compañero de trabajo con el que viajaba sí, y me habló de la colegiata de San Isidoro de Sevilla. Yo le dije "¡Pero si ese es mi patrón!", y nos fuimos a visitar el monumento.

Ya me había advertido mi compañero y amigo Pedro Orihuela que al panteón le llaman "La Capilla Sixtina del Románico", y la verdad es que me encantó. Os aconsejo que visitéis los enlaces a la visita virtual, y si vais a León no dejéis de visitarla.

Era el año 2001, y acababa de celebrarse el año mundial de las Matemáticas. Tuve la ocasión de comprar en el propio museo de la colegiata una edición de su principal obra sobre matemáticas: el libro III de las Etimologías (de Mathematica). El libro incluye la obra en facsímil, y una traducción de Manuel Antonio Marcos-Casquero. Es curioso ver cómo se entendían las matemáticas en la Edad Media, donde no se había avanzado nada desde la época de Pitágoras, y se trataban de explicar las matemáticas desde un punto de vista Divino (por ejemplo para establecer las medidas aproximadas de las estancias del Cielo). En todo caso está considerado uno de los grandes erudidos de la Edad Media.

Yo no voy a escribir más, pero os aconsejo visitar los enlaces que he puesto por el texto. Buceando por la red me han sorprendido dos cosas: la primera, que proponen a San Isidoro como patrón de Internet. La segunda, que en la web de la EU de Estadística no se hace referencia alguna a la festividad.

domingo, 25 de abril de 2010

Instalación de R

Voy a empezar a relatar mi experiencia con el software estadístico de libre distribución y código abierto "R". R es un entorno de software para el análisis y gráficos estadísticos. Hay versiones para Unix/Linux, Windows y Mac/OS.

Instalación en Windows
Lo primero que tenemos que hacer, es ir a la página del proyecto, y seguir el enlace download R. Aparece una lista de direcciones (CRAN Mirrors), y debemos elegir una cercana a nuestra ubicación.
A continuación, tenemos los enlaces para descargar los archivos binarios o el código fuente.
Seguimos el enlace de Windows, y tenemos dos "carpetas": base y contrib. Entramos en base, y tenemos el enlace a descargar el archivo de instalación para Windows. Si entramos en Contrib, tenemos una lista de directorios, podemos entrar en la versión que estemos instalando y descargar los paquetes adicionales que necesitemos.
La instalación se realiza mediante un asistente, como cualquier otro programa de Windows, que nos crea los accesos directos, y después de la instalación podemos arrancarlo. Para evitar errores posteriores con algunos paquetes, es mejor elegir la opción SDI cuando nos lo solicita. La versión para Windows incluye un GUI (Interfaz gráfico de usuario) desde el que utilizar el sistema. Esta es la pantalla principal del programa:


Una vez instalado, se pueden cargar paquetes adicionales. Por ejemplo, para cargar el paquete "survival", vamos al menú "paquetes", y seleccionamos el paquete survival.

También podemos instalar paquetes nuevos. En el menú paquetes, seleccionamos "Instalar paquetes". Primero nos pide seleccionar un "CRAN Mirror", de donde descargar. Debe ser próximo a nuestra ubicación. Al hacer clic en oq, obtenemos la lista de paquetes disponibles. Si por ejemplo queremos instalar el paquete qcc para control de calidad, lo buscamos, seleccionamos y hacemos clic en ok. La primera vez que instalamos un paquete, nos pregunta si queremos crear una carpeta para los paquetes, a lo que contestamos que sí.



Otra forma de instalar paquetes, es desde la consola, como se describe a continuación.

La interfaz gráfica nos va a permitir utilizar la consola del programa para ejecutar comandos, y también instalar paquetes y configurar el sistema. Pero si queremos utilizar realmente una interfaz gráfica e interactiva para el análisis, necesitaremos instalar el paquete "RCommander".

Para instalarlo, instalamos el paquete desde la consola con el comando:
install.packages("Rcmdr", dependencies=TRUE)





Instalación en Linux
Para la instalación en Linux, podemos elegir varios caminos:


  1. Para los más expertos, se puede descargar el código fuente, para compilarlo. No voy a explicar esta modalidad porque (aún) no me cuento entre los expertos.
  2. Los más comodones, pueden utilizar el gestor de paquetes de Synaptic (para distribuciones que incluyan esta opción, como Ubuntu o Molinux). Podemos instalar el paquete base (r-base), o bien un conjunto de paquetes recomendados, incluido el base (r-recommended)
  3. La instalación más utilizada, es mediante la consola. Abrimos la consola y tecleamos la orden:






sudo apt-get install r-recommended




En el caso de Linux, no se instala de forma predeterminada ningún interfaz de usuario, para empezar a utilizarlo tenemos que abrir una consola y ejecutar el comando R.


Desde la consola podemos instalar paquetes nuevos mediante el comando install igual que se ha descrito en Windows.

Podemos instalar el paquete rkward como interfaz gráfica de usuario, que sirve tanto para utilizar la consola directamente, como para realizar análisis de datos, importación, etc. al estilo de SPSS.
De nuevo, podemos utilizar el gestor de paquetes, o la consola:

sudo apt-get install rkward

Esta es la ventana principal de rkward, desde la que se pueden realizar los análisis y también configurar el entorno e instalar paquetes adicionales:



También podemos instalar el paquete correspondiente para Linux de R-Commander, desde el gestor de paquetes, o la consola:

sudo apt-get install r-cran-rcmdr

También se puede instalar desde el intérprete de comandos de R, con la instrucción:
install.packages("Rcmdr", dependencies=TRUE)

Si se obtiene algún mensaje que falta algún paquete, instalarlo de la misma forma y repetir el comando.

En el próximo post entraré en el uso de la consola de comandos para las operaciones básicas.

miércoles, 21 de abril de 2010

Linux, Software libre, Estadística y más ...

En octubre de 2009, escribí mi primer post aprovechando que acababa de visitar SIMO NETWORK 2010. 

Ahora que ya tenemos fecha para el próximo SIMO (5-7 de octubre de 2010), voy a cumplir mi promesa de escribir sobre Linux. Por cierto que en SIMO no hubo prácticamente nada de Linux, espero que en esta próxima edición no tengamos que decir lo mismo.

En los últimos meses me he puesto al día en cuanto a Linux y tecnologías libres en general. Tengo que decir que siempre he sido escéptico, pero después de varios meses probando cosas, he llegado a la conclusión de que no hay nada de lo que hago con Windows que no pueda hacer con Linux.

En esta primera incursión, voy a resumir mi experiencia de los últimos meses para después profundizar en cada tema.

Mi experiencia

Lo primero era elegir una distribución. En mi caso, elegí la distribución Molinux, proyecto de la Junta de Castilla la Mancha, que realmente es una "adaptación" de la distribución Ubuntu. La gran ventaja de Molinux es que dispone de soporte telefónico, además de otros recursos gratuitos de ayuda. También he probado el propio Ubuntu en el portátil, siendo la experiencia igual de satisfactoria.

La instalación es sencilla para el usuario "novato", y con amplias posibilidades de personalización para el experto.

Me han sido de gran ayuda los recursos del Centro de Excelencia de Software Libre de Castilla la Mancha, donde se puede uno inscribir en los cursos gratuitos y aprender todo lo necesario para manejar linux, tanto a nivel de usuario como de administrador.

Aplicaciones

En cuanto a las aplicaciones que he utilizado, paso a resumirlas para desarrollarlas en posteriores posts:
  1. Diseño gráfico.- Para la edición de imágenes, he pasado a utilizar GIMP en sustitución de Photoshop. Sólo se trata de acostumbrarse a usarlo, porque se puede hacer de todo, sobre todo instalando los plugins que uno necesite.
  2. Edición de vídeo.- En windows he utilizado Pinnacle Studio, Nero Visión, y otros. Ahora utilizo KINO, que una vez conoces cómo funciona es la mar de sencillo, y rápido (una vez tenemos los archivos en formato DV)
  3. Multimedia.- VLC me ha enamorado desde que lo conocí, y a todas mis amistades se lo instalo en Windows. Brasero es otro imprescindible.
  4. Ofimática.- De sobra conocido es el proyecto OpenOffice.org. No echo de menos nada de MS.
  5. Internet.- Aunque el navegador por excelencia de Linux es Firefox (ya lo usaba en Windows) utilizo principalmente Chrome. Otras aplicaciones para Internet, como Transmission, Evolution o Tucan, cumplen con sus cometidos a la perfección. El cliente de Terminal Server, es muy útil y funciona perfectamente para conectar a equipos Windows que tengamos que controlar.
  6. Programación.- A efectos de aprendizaje, he utilizado simplemente el editor de textos GEdit, que reconoce la sintaxis de cantidad de lenguajes de programación, y compiladores libres (g++, gcc, fpc), con lo que uno puede seguir bibliografía o asignaturas de programación sin necesidad de aplicaciones propietarias, como Turbo Pascal o Turbo C++. Existen también IDE con muy buenas prestaciones, como Lazarus (Pascal), o Anjuta. Incluso es posible desarrollar aplicaciones para plataformas Windows con el Proyecto Mono. Para el diseño de páginas web al estilo WYSIWYG, la aplicación Amaya es la indicada, aunque yo prefiero menos automatización y escribir código directamente.
  7. Servicios de Internet.- La configuración de un servidor básico de Internet con Apache, php y mySql me resultó realmente sencilla.
  8. Otras utilidades que me son muy útiles son pyRenamer (renombrado de archivos), VirtualBox (Máquinas virtuales), XMind (mapas mentales).
  9. Educación.- La distribución de Molinux versión educativa viene con gran cantidad de aplicaciones educativas y lúdicas que se agradecen mucho para los pequeños de la casa.
  10. Análisis estadístico. Por último, y este es el campo donde más quiero profundizar posteriormente, me ha sorprendido la existencia del "Proyecto R". Después de unos años apartado en parte de mi profesión de Estadístico, he vuelto a "La Complu" para estudiar el Grado en Estadística Aplicada para Diplomados en Estadística, y se han despertado en mí las ganas de aunar la filosofía del software libre con el análisis estadístico, para beneficio especialmente de la Investigación, pero también de la industria y la docencia. Ya lo he instalado, y espero ponerme al día con esta herramienta gracias al libro libre de la Universidad de Cádiz. Algunos de los puntos fuertes son: La cantidad de información disponible sobre el proyecto, la cantidad de paquetes adicionales para ampliar funcionalidad (p.ej. qcc para control de Calidad), y la existencia de GUI's, como RKWard, para hacer la vida más fácil al investigador/analista.


Lo que aún no he probado

Tengo ganas de meterle mano a aplicaciones de Gestión de Proyectos, me consta que hay muy buenas aportaciones que quiero probar.

Quiero aprender a programar en Java y php, mi asignatura pendiente. También para programar aplicaciones móviles. A mi ipaq hw6815 ya se le está poniendo cara de pingüino.



El lado oscuro

Hay que decir que no todo es un camino de rosas. Lo que más me ha costado es la configuración de determinado hardware. Con cierto esfuerzo, he podido configurar una impresora de red HP, y todavía me estoy "peleando" con los drivers la tarjeta gráfica ATI.

Aunque en las versiones de Molinux y Ubuntu todo es muy sencillo, para ciertas tareas hay que tener algo de idea de informática, y el "gran público" aún no está preparado para prescindir de su Windows. Pero cada día hay nuevas iniciativas para salvar estos inconvenientes, y sólo es cuestión de tiempo una implantación mayor.

De todas formas merece la pena, y pienso seguir progresando en este nuevo  (para mí) paradigma de las tecnologías de la información.


Conclusión

Lo mejor de todo, creo que se resume en que podemos elegir. El que prefiera Windows, que siga con él (no se trata de estar a favor o en contra). Pero ya no hay excusas para no probar Linux.