ComeçarComece de graça

Adicione um controle deslizante para selecionar o ano

Controles deslizantes são ótimos para entradas numéricas, tanto quando você quer que os usuários escolham em um intervalo de valores quanto quando devem escolher um valor fixo dentro de um conjunto de opções, mas você quer ser mais criativo do que usar um selectInput().

Ajuste seu app que exibe os 10 nomes mais populares de um ano adicionando um controle deslizante para selecionar um ano específico disponível em babynames.

Este exercício faz parte do curso

Construindo Aplicações Web com Shiny em R

Ver curso

Instruções do exercício

  • Adicione um controle deslizante chamado "year" para permitir que os usuários selecionem um ano entre 1900 e 2010, com padrão em 1900.
  • Atualize o código do servidor para obter os 10 nomes mais populares para o ano selecionado em vez de apenas 1900

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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)
Editar e executar o código