Visualización interactiva con R Shiny App

April 28, 2021

R Shiny App es un paquete de R destinado al desarrollo de aplicaciones interactivas de visualización de datos. Permite la instalación de una aplicación web corriendo en R en un servidor, y que podremos personalizar de forma sencilla con sintaxis HTML, CSS o Javascript.

Instalación de R Shiny App

En esta publicación damos por hecho que tenemos R instalado. Si este no es tu caso, te recomendamos que eches un vistazo a nuestra publicación Bienvenida a R Studio. El primer paso será abrir R Studio e instalar R Shiny con el siguiente comando en la terminal:

R descargará la última versión de R Shiny y la instalará. Al acabar el proceso deberíamos ver en pantalla:

Para comprobar que Shiny se ha instalado correctamente, escribimos en la terminal de R y ejecutamos:

Esto debería ejecutarse sin ningún error. Puede ser que dependiendo de nuestra versión de R, nos advierta de que la versión de R Shiny ha sido escrita en una versión de R superior, pero esto no debería causar ningún problema, sólo es un warning que nos devolverá la terminal de R.

Estructura de una R Shiny App

Toda aplicación R Shiny App se ejecuta en un ordenador (al que llamamos “servidor”) con R instalado. La estructura de cualquier aplicación se divide en dos funciones principales:

  • UI
  • Server

La función UI se encarga de crear la interfaz visual de nuestra aplicación. Un ejemplo sería la función fluidPage():

Por último, una función ejecuta tanto _ui_ como server, y nos muestra el resultado.

Podemos esquematizar el comportamiento de la aplicación tal y como vemos en el siguiente diagrama:

R Shinny App

Primera aplicación Shiny

Vamos a ver un ejemplo de una sencilla aplicación Shiny. Creamos un archivo llamado shiny.R y empezamos a crear nuestras tres funciones:

  1. ui
  2. server
  3. shinyApp

ui

Nuestra función ui quedaría de la siguiente forma:

En la variable ui no tenemos más que código HTML, cómo podemos ver si escribimos ui en la terminal de R.

R Shinny UI

Este código HTML será la plantilla que use nuestra aplicación junto con la función server para renderizar la visualización en tiempo real.

Server

La función server debe crear y mantener actualizado un histograma. Por ello, debemos darle los datos a incluir en el gráfico, crear el histograma y todo ello, dárselo a la función server como output.

ShiniApp

Por último introducimos a la función shiniApp las variables ui y server. El código entero, quedaría tal y como sigue. Atención a importar la librería shiny al principio del script.

Si todo ha ido bien, deberíamos ver en RStudio la visualización en la pestaña viewer.

R Studio R Shiny

Si queremos ver nuestro dashboard en el navegador web, debemos pulsar en el botón show in new window.

Próximos pasos a tomar

Más adelante veremos aplicaciones más avanzadas de R Shiny, dónde además limpiaremos y analizaremos los datos, enfocándonos en casos de uso reales.

Si te quieres dominar la visualización en R Shiny, en Nebulova tenemos un curso avanzado dónde aprenderás todo necesario para poder crear desde cero aplicaciones alojadas en servidor listas para el cliente final.

¿La mejor alternativa a Wordpress?

A la hora de desarrollar web existen muchas alternativas para todo tipo de proyectos web, pero… ¿Cuál es la mejor?

Web Development

Big Data vs Smart Data

Descubre por qué en numerosas ocasiones se encuentran situaciones en las que poseer un exceso de datos que puede llegar a suponer un lastre si no se tiene un buen control y manejo sobre la información.

Data Science

Juego de tronos (De programación)

Que Python era y es un lenguaje con gran proyección y en auge ya lo sabíamos algunos, pero esta vez se ha proclamado como el lenguaje de programación más popular en la actualidad, y no nos lo hemos sacado de la chistera, sino que ha sido TIOBE quien lo ha catalogado como tal.

Data Science