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