Aggiungi un input di selezione
Aggiungere un input a un'app Shiny è un processo in due passaggi: prima aggiungi una funzione ___Input("x") alla UI e poi accedi al suo valore nel server usando input$x.
Per esempio, se vuoi che l'utente scelga un animale da un elenco, puoi usare selectInput e fare riferimento al valore selezionato come input$animal:
selectInput(
'animal',
'Select Animal',
selected = 'Cat',
choices = c('Dog', 'Cat')
)
In questo esercizio, costruirai un'app Shiny che permette agli utenti di visualizzare i 10 nomi più popolari per sesso aggiungendo un input per scegliere il sesso.
Questo esercizio fa parte del corso
Creare applicazioni web con Shiny in R
Istruzioni dell'esercizio
- Aggiungi un input di selezione chiamato "sex" per far scegliere tra "M" e "F", con predefinito "F".
- Aggiorna il codice del server per ottenere i 10 nomi principali per il sesso scelto invece di solo "F".
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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)