Le package shiny

Description

Le package shiny a été développé par RStudio et permet la création de page web interactives avec la possibilité d'utiliser les nombreuses fonctionnalités du logiciel R.

L'avantage majeur de ce package est qu'il permet de réaliser une interface rapidement sans être obligé d'avoir des connaissances en HTML ou CSS, l'ensemble du code peut être réalisé en language R.


Comment ça marche ?

Tout d'abord, il faut commencer par installer le package shiny (fonction install.packages()) et puis le charger dans R. 

Ensuite, pour créer une application web, il suffira de créer 2 fichiers :

  • ui.R : User Interface, ce fichier permet de définir l'apparence de votre interface
  • server.R : ce fichier contient l'ensemble des instructions, c'est-à-dire les actions à réaliser lorsque l'utilisateur modifiera une des options de l'interface.

 

Voici un exemple d'application que vous pouvez trouver sur le site officiel : http://shiny.rstudio.com/ :

library(shiny)

 

# Define UI for application that draws a histogram
shinyUI(fluidPage(

  # Application title
  titlePanel("Hello World!"),

  # Sidebar with a slider input for the number of bins
  sidebarLayout(
    sidebarPanel(
      sliderInput("bins","Number of bins:",min = 5,max = 50,value = 30)
  ),

  # Show a plot of the generated distribution
  mainPanel(
    plotOutput("distPlot")
  )
)
))

library(shiny)
 
# Define server logic required to draw a histogram
shinyServer(function(input, output) {
 
  # Expression that generates a histogram. The expression is
  # wrapped in a call to renderPlot to indicate that:
  #
  #  1) It is "reactive" and therefore should
  #     re-execute automatically when inputs change
  #  2) Its output type is a plot
 
  output$distPlot <- renderPlot({
    x    <- faithful[, 2]  # Old Faithful Geyser data
    bins <- seq(min(x), max(x), length.out = input$bins + 1)
 
    # draw the histogram with the specified number of bins
    hist(x, breaks = bins, col = 'skyblue', border = 'white')
  })
})

Après la création ...

Une fois l’application créée, plusieurs possibilités existent pour la partager. Une des solutions consiste à rendre disponible les 2 fichiers ui.R et server.R (non recommandée). Les utilisateurs pourront alors utiliser/modifier l’application shiny sur leur propre ordinateur.

 

Le meilleur moyen de partager une application shiny consiste à la déployer sur le net. Pour cela, on peut soit configurer un serveur shiny (sur une instance AWS par exemple) soit directement utiliser la plateforme « shinyapps.io » qui permet de déployer une application shiny en quelques clics (c’est cette option qui a été choisie pour déployer ONISA).

 

Pour en savoir plus, n’hésitez à visiter les sites suivants : http://www.shinyapps.io/ et https://www.rstudio.com/products/shiny/shiny-server/


Exemple d'une application développée avec le package R shiny
Exemple d'une application développée avec le package R shiny

Écrire commentaire

Commentaires: 1
  • #1

    ONISA (vendredi, 30 septembre 2016 17:01)

    N'hésitez pas à laisser un petit commentaire pour savoir si vous avez aimé ce post !!!