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
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)