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