Inizia subitoInizia gratis

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

Visualizza corso

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)
Modifica ed esegui il codice