¡Echa un vistazo a nuestros nuevos cursos cortos de introducción!

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.

Tres razones por las cuales las empresas valoran la formación en Bootcamps

Todos nos hemos preguntado alguna vez cuáles son los factores que más influyen en las empresas para contratar a alumnos recién graduados, y es que hoy en día, pocos Masters nos son útiles a la hora de adquirir habilidades para nuestro futuro laboral. Por ello, hoy te contamos los 3 factores clave que diferencian a un alumno de Bootcamp a otro de Master.

Productivity

Desarrollo Web VS CMS

Seguramente, a lo largo de nuestra carrera profesional a muchos nos ha surgido la duda de ¿qué opciones tengo para crear una página web?

Web Development

5 Estrategias para monetizar una App

En el último año, debido a la pandemia, las empresas han iniciado una carrera por la digitalización de su ecosistema, lo que ha favorecido la transformación digital y ha conseguido hacer que estas empresas generen ingresos mediante distintos software y plataformas.

Web Development