Descripció
Shiny és un package de R que facilita la creació d’aplicacions web i gràfics interactius directament des de R. Pot allotjar aplicacions independents en una pàgina web o incrustar-les en documents R Markdown o crear quadres de comandament usables des de R Studio. També és possible estendre aplicacions Shiny amb temes CSS, htmlwidgets i accions Javascript, per donar-los l’aspecte desitjat.
Enllaç al recurs
Exemple d’ús
El següent exemple mostra la construcció d’un histograma dinàmic utilitzant Shiny. El codi usat és el següent (s’han numerat les línies per millorar-ne la lectura):
1 # carregar el package 2 library(shiny) 3 # Nombre de variables 4 n <- 200 5 6 # Interfície d'usuaris 7 ui <- bootstrapPage( 8 numericInput('n', 'Nombre d'observacions', n), 9 plotOutput('plot') 10 ) 11 12 # Codi 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)
Després de carregar el package Shiny mitjançant la línia 2, a la línia 4 s’inicialitza el nombre d’observacions a representar en l’histograma que dinàmicament podran ser introduïdes en la interfície (línia 8) com un camp numèric d’entrada.
Entre les línies 7 i 10 es defineix la interfície d’usuari, entre la qual es troba la caixa d’introducció del nombre d’observacions (línia 8) i la crida per a la representació gràfica de l’histograma (línia 9).
Posteriorment, entre les línies 13 i 17 es realitza el renderitzat en la part del servidor de l’histograma d’una distribució uniforme (generada mitjançant la funció de R runif), atenent al nombre d’observacions introduïdes per l’usuari en la interfície.
Finalment, a la línia 20 s’inicialitza l’app de Shiny establint interfície d’usuari i el servidor perquè les peticions puguin ser servides.
Enllaços relacionats
El package de R Shiny: https://cran.r-project.org/web/packages/shiny/index.html
Full de referència: https://www.rstudio.com/wp-content/uploads/2015/03/shiny-spanish.pdf