CommencerCommencez gratuitement

Ajouter un curseur pour sélectionner l’année

Les curseurs sont très pratiques pour les entrées numériques, à la fois lorsque vous voulez que les utilisateurs choisissent une valeur dans une plage et lorsqu’ils doivent sélectionner une valeur fixe parmi un ensemble d’options, tout en étant plus créatif qu’avec un selectInput().

Modifiez votre application qui affiche les 10 prénoms les plus populaires pour une année en ajoutant un curseur pour sélectionner une année disponible dans babynames.

Cet exercice fait partie du cours

<cours>Créer des applications web avec Shiny en R</cours>
Voir le cours

Instructions de l’exercice

  • Ajoutez une entrée de type curseur nommée "year" pour permettre aux utilisateurs de sélectionner une année entre 1900 et 2010, avec une valeur par défaut de 1900.
  • Mettez à jour le code du serveur pour obtenir le top 10 des prénoms pour l’année sélectionnée au lieu de seulement 1900

Exercice interactif pratique

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

ui <- fluidPage(
  titlePanel("What's in a Name?"),
  # Add select input named "sex" to choose between "M" and "F"
  selectInput('sex', 'Select Sex', choices = c("F", "M")),
  # CODE BELOW: Add slider input named 'year' to select years  (1900 - 2010)

  # Add plot output to display top 10 most popular names
  plotOutput('plot_top_10_names')
)

server <- function(input, output, session){
  # Render plot of top 10 most popular names
  output$plot_top_10_names <- renderPlot({
    # Get top 10 names by sex and year
    top_10_names <- babynames %>% 
      filter(sex == input$sex) %>% 
    # MODIFY CODE BELOW: Filter for the selected year
      filter(year == 1900) %>% 
      slice_max(prop, n = 10)
    # Plot top 10 names by sex and year
      ggplot(top_10_names, aes(x = name, y = prop)) +
        geom_col(fill = "#263e63")
  })
}

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