Kom igångKom igång gratis

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

Visa kurs

Ö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)
Redigera och kör kod