Aan de slagGa gratis aan de slag

Voeg een slider toe om het jaar te kiezen

Sliders zijn ideaal voor numerieke invoer: zowel als je gebruikers uit een bereik van waarden wilt laten kiezen, als wanneer ze één vaste waarde uit een set opties moeten kiezen, maar je creatiever wilt zijn dan een selectInput().

Pas je app die de top 10 namen voor een jaar toont aan door een slider toe te voegen om een specifiek jaar te kiezen dat beschikbaar is in babynames.

Deze oefening maakt deel uit van de cursus

Webapplicaties bouwen met Shiny in R

Cursus bekijken

Oefeninstructies

  • Voeg een sliderinvoer met de naam "year" toe zodat gebruikers een jaar tussen 1900 en 2010 kunnen selecteren, met standaardwaarde 1900.
  • Pas de servercode aan om de top 10 namen voor het geselecteerde jaar op te halen in plaats van alleen 1900

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
Code bewerken en uitvoeren