CommencerCommencer gratuitement

Filtrer par espérance de vie

Le véritable atout de Shiny apparaît lorsque les entrées sont combinées aux sorties. Le tableau créé dans l’exercice précédent est statique — il ne peut pas être modifié —, mais pour explorer les données, il serait préférable que l’utilisateur puisse choisir quel sous-ensemble afficher.

Pour cela, on peut ajouter une entrée permettant de sélectionner une valeur afin de filtrer les données. Ainsi, le tableau créé précédemment devient dynamique.

L’une des variables du jeu de données gapminder est lifeExp (espérance de vie). Votre tâche consiste à ajouter à l’application Shiny un curseur qui permette à l’utilisateur de choisir une espérance de vie minimale et maximale. Le tableau n’affichera alors que les données correspondant à ces valeurs.

Cet exercice fait partie du cours

Études de cas : créer des applications web avec Shiny en R

Afficher le cours

Instructions

  • Ajoutez à l’interface un curseur avec l’identifiant "life", une valeur minimale de 0, une valeur maximale de 120 et une sélection par défaut de 30–50.
  • Dans la fonction de rendu, utilisez la valeur d’entrée pour filtrer gapminder afin de ne conserver que les lignes dont lifeExp est comprise entre les valeurs minimale et maximale (bornes incluses).

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

ui <- fluidPage(
  h1("Gapminder"),
  # Add a slider for life expectancy filter 
  ___(inputId = ___, label = "Life expectancy",
      min = ___, max = ___,
      value = c(30, 50)),
  tableOutput("table")
)

server <- function(input, output) {
  output$table <- renderTable({
    data <- gapminder
    data <- subset(
      data,
      # Use the life expectancy input to filter the data
      lifeExp >= ___life[1] & lifeExp <= ___life[2]
    )
    data
  })
}

shinyApp(ui, server)
Modifier et exécuter le code