ComenzarEmpieza gratis

Añade una entrada select

Añadir una entrada a una app de Shiny es un proceso de dos pasos: primero añades una función ___Input("x") a la UI y luego accedes a su valor en el servidor usando input$x.

Por ejemplo, si quieres que las personas usuarias elijan un animal de una lista, puedes usar un selectInput y referirte al valor elegido como input$animal:

selectInput(
  'animal', 
  'Select Animal', 
  selected = 'Cat', 
  choices = c('Dog', 'Cat')
)

En este ejercicio, crearás una app de Shiny que permite visualizar los 10 nombres más populares por sexo, añadiendo una entrada para que puedan elegir el sexo.

Este ejercicio forma parte del curso

Creación de aplicaciones web con Shiny en R

Ver curso

Instrucciones del ejercicio

  • Añade una entrada select llamada "sex" para que las personas usuarias puedan elegir entre "M" y "F", con valor predeterminado "F".
  • Actualiza el código del servidor para obtener los 10 nombres principales para el sexo elegido en lugar de solo "F".

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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 y ejecutar código