Types d'entrées

Créer des tableaux de bord avec shinydashboard

Png Kee Seng

Researcher

Fonctions d'entrée

  • Dans l'interface, les utilisatrices et utilisateurs peuvent fournir des entrées
    • C'est comme donner des instructions au serveur au resto
  • Dans une shinyApp, ces instructions sont transmises via le serveur
  • On y parvient en ajoutant des fonctions d'entrée à l'UI
  • <type>input(<identifying label>, <displayed label>, ...)
    • Le premier argument est une étiquette d'identification
    • Le deuxième est l'étiquette affichée
    • Les autres sont propres au type d'entrée
Créer des tableaux de bord avec shinydashboard

Exemple : étude sur le sommeil

  • Imaginons une étude sur le sommeil avec des données recueillies
  • Quelles entrées une personne utilisant la shinyApp pourrait-elle donner ?

Graphique d'une étude sur le sommeil

1 Image par storyset sur Freepik
Créer des tableaux de bord avec shinydashboard

selectInput

  • Une entrée courante : selectInput()
  • Elle crée un menu déroulant avec plusieurs options
  • Le troisième argument est un vecteur d'options possibles
  • Ici, il y a quatre options
  • Pour l'instant, laissons le serveur vide
  • Affichons la shinyApp avec shinyApp()
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
    selectInput("selectlabel", 
                "Select an option",

choices = c("Option 1", "Option 2", "Option 3", "Option 4"))
server <- function(input, output, session) {
}
shinyApp(ui, server)
Créer des tableaux de bord avec shinydashboard

selectInput

selectInput avec une seule sélection.

Créer des tableaux de bord avec shinydashboard

selectInput avec sélections multiples

  • On peut aussi ajouter l'argument multiple
    ui <- fluidPage(
    titlePanel("Sleeping habits in America"), 
      selectInput("selectlabel", 
                  "Select an option",
                  choices = c("Option 1", "Option 2", "Option 3", "Option 4"),
                  multiple = TRUE))
    server <- function(input, output, session) {
    }
    shinyApp(ui, server)
    
Créer des tableaux de bord avec shinydashboard

selectInput avec sélections multiples

selectInput avec sélections multiples

Créer des tableaux de bord avec shinydashboard

textInput

  • Deux autres arguments importants :
    • value : valeur préremplie dans la zone de texte
    • placeholder : aperçu de ce qui devrait y être saisi
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  textInput("textlabel", 
            "Tell me your name", 

value = "Birdie",
placeholder = "Don"))
server <- function(input, output, session) {
}
shinyApp(ui, server)
Créer des tableaux de bord avec shinydashboard

textInput

Démo de textInput

Créer des tableaux de bord avec shinydashboard

checkboxInput

  • Ajoute une seule case à cocher dans l'appli
  • value : TRUE ou FALSE pour régler l'état initial
  • Variante de checkboxInput : checkboxGroupInput
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  checkboxInput("checkboxlabel",
                "65 years and over",

value = FALSE))
server <- function(input, output, session) { } shinyApp(ui, server)
Créer des tableaux de bord avec shinydashboard

checkboxInput

Démo de checkboxInput

Créer des tableaux de bord avec shinydashboard

sliderInput

  • Produit un curseur permettant deux actions
    • Choisir une seule valeur numérique dans un intervalle
    • Choisir deux valeurs numériques dans un intervalle
  • Pour une seule valeur : définir min et max
  • La valeur initiale est donnée par value
  • Le pas est défini par step
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  sliderInput("sliderlabel",
              "Average hours of sleep",

min = 7.5, max = 11,
value = 9,
step = 0.02))
server <- function(input, output, session) { } shinyApp(ui, server)
Créer des tableaux de bord avec shinydashboard

sliderInput

Démo de sliderInput. Une seule valeur peut être choisie.

Créer des tableaux de bord avec shinydashboard

sliderInput avec intervalles

  • Le curseur peut être bilatéral si value est un vecteur de longueur 2
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  sliderInput("sliderlabel",
              "Average hours of sleep",
              min = 7.5,
              max = 11,

value = c(8, 10),
step = 0.02)) server <- function(input, output, session) { } shinyApp(ui, server)
Créer des tableaux de bord avec shinydashboard

sliderInput avec intervalles

Curseur avec intervalles

Créer des tableaux de bord avec shinydashboard

Passons à la pratique !

Créer des tableaux de bord avec shinydashboard

Preparing Video For Download...