Una brillante nueva aproximación a la minería de datos (Shiny)

Publicado el lunes, 3 de diciembre de 2012

Interfaz en Shiny para analogue

A comienzos del 2011 RStudio Inc. publicó la primera versión de su Entorno Integrado de Desarrollo (IDE) para R. Para la mayoría de nosotros que trabajamos con R un IDE hacía falta. Y no solo pusieron un montón de esfuerzo en crear RStudio, además lo ofrecen como software libre.

Acaban de extender el modelo de negocio de RStudio con un nuevo producto que llaman Shiny. Shiny es una combinación de librerías de R que permiten “programación reactiva” a travéz de R. Es “reactiva” porque permite construir una interfaz que responde inmediatamente a cualquier cambio que el usuario hace. Además ofrece una colección básica de “widgets” o elementos de control (como botones, listas etc) y una distinción clara entre lo que el usuario va ver (la interfaz) y como se tratan los datos (el controlador). Si no acostumbras programar, esto quizás no parezca muy relevante, pero cuando empieces a jugar con Shiny esta aproximación te obligará gentilmente a seguir el patrón Modelo-Vista-Controlador (MVC). Cuando tus proyectos se hagan más grandes apreciaras las ventajas.

RStudio ya ofrece Shiny a todos los usuarios de R para usarlo en sus maquinas locales. Arrancar tu Shiny App es tan fácil como:

$ cd ~/CarpetaShinyApp
$ R -e “shiny::runApp(port=8100) # 8100 is the default port number

Menciono el numero de la puerta (“port”) porque de esta forma es posible tener más de una aplicación de Shiny abierta en tu máquina. Cuando tienes más de una interfaz a la exploración de tus datos, es una posibilidad bien bacana.

Interfaz en Shiny para analogue

Ejemplo de una interfaz en Shiny para bioestratigrafía

Para enseñar o para tus propios esfuerzos para entender las posibilidades que ofrecen las diferentes bibliotecas, Shiny da la posibilidad de crear una interfaz que explora las opciones. Como ejemplo puse una interfaz en frente a Stratiplot (que es parte de la biblioteca analogue de Gavin Simpson) para bioestratigrafía y cartas palinológicas. Stratiplot tiene un extensa serie de opciones para graficar, que le dan mucha flexibilidad. A la misma vez es un poco practico explorar todas las opciones desde la línea de comandos.

Si miras al ejemplo AQUI, verás que ahora tienes las diferentes opciones disponibles como un menú. Para un proyecto especifico estos pueden ser adaptados a los valores de abundancia de los datos que estés trabajando, o inclusive la selección de especies que se hand de mostrar en el grafico. El objetivo principal de este ejemplo es solamente mostrar que de esta forma puedes jugar de forma interactiva con las diferentes opciones para graficar que Stratiplot ofrece, incluyendo la zonación estratigrafica que aplique a tus datos.

Creo que RStudio acaba de lanzar su segundo éxito y que Shiny es lo mejor después de RStudio y R mismo. Las aplicaciones no tiene limite, tanto en negocio como en ciencia, la librería esta bien diseñada y es una excelente forma de extender las habilidades en R que ya tienes. Te da la posibilidad de compartir los resultados de tu aproximación a minería de datos (o exploración, o análisis cualquiera fuera la terminología que usas) con otros en tu equipo y empresa.