Creación de aplicaciones web con Shiny

Date:

June 19 to 22. AFTERNOON: 15 to 19h (June 19, 20, and 21) and 15 to 18h (June 22).

Instructor

Isaac Subirana Cachinero

Isaac Subirana es licenciado en “Ciencias y Técnicas Estadísticas” por la Universitat Politècnica de Catalunya (UPC) y Doctorado en “Estadística” por la Universitat de Barcelona (UB). Desde el 2007 ejerce de profesor asociado en el Departamento de Estadística de la Facultad de Biología de la UB. Desde 2003 trabaja a jornada completa como Técnico Investigador en el campo de la Epidemiología Cardiovascular en el grupo REGICOR (www.regicor.org) del “Parque de Investigación Biomédica de Barcelona” (PRBB).

En los últimos años ha impartido varios cursos de Shiny y ha implementado algunas herramientas basadas en Shiny para la exploración de datos epidemiológicos. Además, es creador y “mantainer” de la biblioteca compareGroups de R (www.comparegroups.eu) para la que se implementó una aplicación diseñada a partir de las herramientas de Shiny.

Language

Spanish

Description

Shiny (http://shiny.rstudio.com) es un paquete del programa R (http://www.r-project.org/) desarrollado por el equipo de RStudio (http://www.rstudio.com/) que permite crear páginas webs dinámicas sin que sea necesario ningún conocimiento de HTML ni de Javascript o PHP. Gracias a Shiny se pueden construir y personalizar de manera rápida y sencilla interfaces gráficas sobre páginas web mediante pocas líneas de código. De esta manera, se puede hacer que funciones escritas en R sean accesibles a usuarios no familiarizados con este programa y que quieran usarlas de manera interactiva. Como ejemplos, tracking de casos de COVID19 con mapas (https://vac-lshtm.shinyapps.io/ncov_tracker), o un formulario para confeccionar tablas descriptivas de forma interactiva (https://www.datarus.eu/aplicaciones/comparegroups), el cálculo del tamaño muestral (https://www.datarus.eu/aplicaciones/granmo), o para calcular el riesgo cardiovascular (https://regicor.cat/aplicacions/regicor/).
En este curso se introducirán los conceptos básicos para crear aplicaciones web con Shiny. También se explicarán técnicas más avanzados para mejorar tanto el aspecto como la funcionalidad de las aplicaciones. El carácter del curso será eminentemente práctico. Durante su transcurso, se presentarán multitud de ejemplos "ejecutables" que serán discutidos y modificados en clase para explicar y afianzar los conceptos expuestos.
El curso será de carácter híbrido, o sea que hay la posibilidad de asistir presencial o telemáticamente, aunque se aconseja la presencialidad.

Course goals

Crear y desarrollar interfaces gráficas sobre páginas web a partir de aplicaciones programadas en código R usando funciones del paquete Shiny.

Course contents

Temario

  1. Introducción a Shiny y primeros ejemplos. Cómo crear y compartir tu primera app con RStudio y shinyapps.io.

  2. Disposición de los elementos del formulario: paneles, botones, desplegables, etc.

  3. Funcionamiento de Shiny.

  4. Técnicas y herramientas para mejorar el aspecto y la funcionalidad de la aplicación.

  5. Aspectos avanzados: actualización de elementos, esconder y mostrar partes de la aplicación, etc.

  6. Creación de documentos interactivos: mezcla de Markdown y Shiny.

 Algunos tópicos a destacar que se explicarán en el curso en más detalle

  • Implementación de un password en la app.

  • Inserción de mapas.

  • Tablas y gráficos interactivos.

  • Confección de un dashboard: paquete “shinydashboard”.

Prerequisites

Es necesario que el alumno esté familiarizado con el programa R.

Targeted at

Todo personal investigador, técnico, etc. familiarizado con el programa y lenguaje R pero con nula o escaso conocimiento de lenguajes propios para la creación de páginas web (como son HTML o Javascript) que quieran o necesiten crear aplicaciones interactivas.

Evaluation

El alumno deberá entregar una aplicación de Shiny al finalizar el curso.

Software requirements

Obligatorio:

  • R (versión 4.1.2 o más reciente) [https://cloud.r-project.org/]

  • RStudio (versión 2021.09.01 o más reciente) [https://posit.co/download/rstudio-desktop/]

  • Navegador web preferiblemente Chrome actualizado.

  • Paquetes de R: shiny [install.packages("shiny")]

Opcional: 

  • Paquetes relacionados con shiny: shinyjs, shinyBS, shinydashboard, shinythemes, shinyWidgets, shinyjqui, shinycssloaders, shinyFeedback, rsconnect

  • Otros paquetes de R: xtable, DT, plotly, leaflet, devtools, Hmisc, compareGroups, writexl, readxl, haven, knitr, kableExtra.

Otros

El portátil deberá tener acceso a internet para poder instalar otros paquetes que se requieran durante el curso.