Lägg till ett skjutreglage för att välja år
Skjutreglage passar utmärkt för numeriska indata – både när användaren ska välja ett värde inom ett intervall och när de ska välja ett enstaka värde ur en uppsättning alternativ, men du vill ha något mer kreativt än selectInput().
Uppdatera din app som visar de 10 vanligaste namnen för ett givet år, genom att lägga till ett skjutreglage för att välja ett specifikt år som finns i babynames.
Den här övningen är en del av kursen
Bygg webbapplikationer med Shiny i R
Övningsinstruktioner
- Lägg till ett skjutreglage med namnet "year" så att användaren kan välja ett år mellan 1900 och 2010, med 1900 som standardvärde.
- Uppdatera serverkoden så att den hämtar de 10 vanligaste namnen för det valda året i stället för enbart 1900.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)