Primeros pasos con shinyApps

Creación de paneles con shinydashboard

Png Kee Seng

Researcher

¿Por qué crear un panel?

  • Un informe es estático
  • A diferencia de un informe, un panel es dinámico
  • Ofrece una experiencia más interactiva
  • shinydashboard facilita crear un panel en R

Imagen de archivo de un informe, que es estático: ofrece una instantánea de la situación.

1 Fuente: WikiMedia
Creación de paneles con shinydashboard

Ejemplo de shinydashboard

Ejemplo de shinydashboard. Hay muchos elementos interactivos que podemos incluir.

Creación de paneles con shinydashboard

shinyApp

  • Un shinydashboard es un tipo de shinyApp
  • Tiene dos componentes principales:
    • Interfaz de usuario (UI)
    • Servidor

Ejemplo de app Shiny de RStudio

Creación de paneles con shinydashboard

La analogía del restaurante

  • Una app de Shiny es como un restaurante
  • Un usuario de shinyApp es como un cliente
  • La interfaz de usuario tiene salidas y entradas
    • La salida es como los platos
    • La entrada es como el pedido
  • El camarero pasa el pedido a la cocina y trae la comida
    • El servidor indica qué salida producir según la entrada del usuario

Un usuario de shinyApp es como un cliente de un restaurante.

El camarero pasa el pedido a la cocina y nos trae la comida.

1 Imagen de macrovector en Freepik
Creación de paneles con shinydashboard

Interfaz de usuario (UI)

  • Importa shiny
  • Interfaz de usuario (ui): fluidPage()
  • En la UI se añaden elementos de la app
    • P. ej., título con titlePanel()
  • Servidor: función definida por el usuario llamada server()
  • shinyApp() los une y renderiza la app
library(shiny)
ui <- fluidPage(titlePanel("Your first app"))
server <- function(input, output){
}
shinyApp(ui, server)
Creación de paneles con shinydashboard

La shinyApp renderizada

La shinyApp renderizada con el código de la diapositiva anterior. Es una app vacía, sin entradas ni salidas.

Creación de paneles con shinydashboard

¡Vamos a practicar!

Creación de paneles con shinydashboard

Preparing Video For Download...