Inizia subitoInizia gratis

Aggiungi uno slider per selezionare l'anno

Gli slider sono perfetti per gli input numerici: sia quando vuoi che gli utenti scelgano in un intervallo di valori, sia quando devono selezionare un valore fisso da un insieme di opzioni, ma vuoi qualcosa di più creativo rispetto a usare un selectInput().

Modifica la tua app che mostra i 10 nomi principali per un anno aggiungendo uno slider per selezionare un anno specifico disponibile in babynames.

Questo esercizio fa parte del corso

Creare applicazioni web con Shiny in R

Visualizza corso

Istruzioni dell'esercizio

  • Aggiungi uno slider chiamato "year" per permettere agli utenti di selezionare un anno tra il 1900 e il 2010, con predefinito 1900.
  • Aggiorna il codice del server per ottenere i 10 nomi principali per l'anno selezionato invece che solo per il 1900

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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)
Modifica ed esegui il codice