Adicionar uma entrada de seleção
Adicionar uma entrada a um app shiny é um processo em duas etapas: primeiro você adiciona uma função ___Input("x") à UI e, depois, acessa seu valor no servidor usando input$x.
Por exemplo, se você quer que usuários escolham um animal de uma lista, pode usar um selectInput e se referir ao valor escolhido como input$animal:
selectInput(
'animal',
'Select Animal',
selected = 'Cat',
choices = c('Dog', 'Cat')
)
Neste exercício, você vai construir um app Shiny que permite visualizar os 10 nomes mais populares por sexo, adicionando uma entrada para que a pessoa usuária escolha o sexo.
Este exercício faz parte do curso
Construindo Aplicações Web com Shiny em R
Instruções do exercício
- Adicione uma entrada de seleção chamada "sex" para permitir que usuários escolham entre "M" e "F", com padrão de "F".
- Atualize o código do servidor para obter os 10 principais nomes para o sexo escolhido em vez de apenas "F".
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
ui <- fluidPage(
titlePanel("What's in a Name?"),
# CODE BELOW: Add select input named "sex" to choose between "M" and "F"
# 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 %>%
# MODIFY CODE BELOW: Filter for the selected sex
filter(sex == "F") %>%
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)