Shiny

1. Ciclo de vida

4. Lenguaje de programación

Descripción

Shiny es un package de R que facilita la creación de aplicaciones web y gráficos interactivos directamente desde R. Puede alojar aplicaciones independientes en una página web o incrustarlas en documentos R Markdown o crear cuadros de mando usables desde R Studio. También es posible extender aplicaciones Shiny con temas CSS, htmlwidgets y acciones JavaScript, para darles el aspecto deseado.

Enlace al recurso

https://shiny.rstudio.com/

Ejemplo de uso

El siguiente ejemplo muestra la construcción de un histograma dinámico utilizando Shiny. El código utilizado es el siguiente (se han numerado las líneas para mejorar su lectura):

1     # cargar el package        
2     library(shiny)      
3     # Número de variables
4     n <- 200
5    
6     # Interfaz de usuarios
7     ui <- bootstrapPage(
8       numericInput('n', 'Número de observaciones', n),
9       plotOutput('plot')
10    )
11
12    # Codigo del servidor
13    server <- function(input, output) {
14      output$plot <- renderPlot({
15        hist(runif(input$n))
16      })
17    }
18
19    # Shiny app object
20    shinyApp(ui = ui, server = server)

Después de cargar el package Shiny mediante la línea 2, en la línea 4 se inicializa el número de observaciones a representar en el histograma que dinámicamente podrán ser introducidas en la interfaz (línea 8) como un campo numérico de entrada.

Entre las líneas 7 y 10 se define la interfaz de usuario, entre la que se encuentra la caja de introducción del número de observaciones (línea 8) y la llamada para la representación gráfica del histograma (línea 9).

Posteriormente, entre las líneas 13 y 17 se realiza el renderizado en la parte del servidor del histograma de una distribución uniforme (generada mediante la función de R runif), atendiendo al número de observaciones introducidas por el usuario en la interfaz.

Finalmente, en la línea 20 se inicializa la app de Shiny estableciendo interfaz de usuario y el servidor para que las peticiones puedan ser servidas.

Enlaces relacionados

El package de R Shiny: https://cran.r-project.org/web/packages/shiny/index.html

Hoja de referencia: https://www.rstudio.com/wp-content/uploads/2015/03/shiny-spanish.pdf