LoslegenKostenlos loslegen

Füge eine Auswahl-Eingabe hinzu

Das Hinzufügen einer Eingabe zu einer shiny-App erfolgt in zwei Schritten: Zuerst fügst du eine ___Input("x")-Funktion zum UI hinzu und greifst dann im Server mit input$x auf ihren Wert zu.

Wenn du z. B. möchtest, dass Nutzerinnen und Nutzer ein Tier aus einer Liste auswählen, kannst du selectInput verwenden und auf den gewählten Wert als input$animal verweisen:

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

In dieser Aufgabe baust du eine Shiny-App, die die 10 beliebtesten Namen nach Geschlecht visualisiert, indem du eine Eingabe hinzufügst, mit der das Geschlecht gewählt werden kann.

Diese Übung ist Teil des Kurses

Webanwendungen mit Shiny in R entwickeln

Kurs anzeigen

Anleitung zur Übung

  • Füge eine Auswahl-Eingabe namens "sex" hinzu, damit zwischen "M" und "F" gewählt werden kann, mit der Voreinstellung "F".
  • Aktualisiere den Server-Code, um die Top 10 Namen für das gewählte Geschlecht zu ermitteln statt nur für "F".

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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)
Code bearbeiten und ausführen