CommencezCommencez gratuitement

Filtrer selon l'espérance de vie

Le véritable avantage de Shiny apparaît lorsque les entrées sont combinées aux sorties. Le tableau créé dans le dernier exercice est statique — il ne peut pas être modifié — mais pour l'exploration, il serait préférable que l'utilisateur puisse décider quel sous-ensemble de données afficher.

On peut y arriver en ajoutant une entrée qui permet à l'utilisateur de choisir une valeur pour filtrer les données. Ainsi, le tableau créé à l'exercice précédent peut devenir dynamique.

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

Cette activité fait partie du cours

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

Voir le cours

Instructions de l’exercice

  • Ajoutez un curseur à l'interface (UI) avec l'ID « 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 les données gapminder afin d'inclure uniquement les enregistrements dont lifeExp se situe entre les valeurs minimale et maximale (inclusives toutes les deux).

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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