ComeçarComece de graça

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

Ver curso

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