LoslegenKostenlos loslegen

Küchen erkunden: Top-Zutaten

Essen begeistert überall – und die beeindruckende Vielfalt an Gerichten, die man mit unzähligen Zutaten zaubern kann, führt zu beinahe unendlicher Abwechslung! In dieser Übung arbeitest du mit einem Datensatz namens recipes, der Rezepte, die zugehörige Küche und die verwendeten Zutaten enthält, um eine Shiny-App zu bauen, mit der Nutzerinnen und Nutzer die am häufigsten verwendeten Zutaten je Küche erkunden können.

Deine finale App sollte dem Bild im folgenden Screenshot ähneln.

An app displaying an interactive table of top ingredients by chosen cuisine

Wir haben die Pakete shiny und dplyr sowie den Datensatz recipes bereits geladen. Außerdem findest du hier einen praktischen Codeschnipsel, der dir die Top 10 Zutaten in der griechischen Küche liefert. Das hilft dir, die interaktive Datentabelle in der App auf Basis der vom Nutzer ausgewählten Küche und Anzahl der Zutaten zu erstellen.

recipes %>% 
  filter(cuisine == 'greek') %>% 
  count(ingredient, name = 'nb_recipes') %>% 
  arrange(desc(nb_recipes)) %>% 
  head(10)

Diese Übung ist Teil des Kurses

Webanwendungen mit Shiny in R entwickeln

Kurs anzeigen

Anleitung zur Übung

  • UI:
    • Füge in der Sidebar eine Eingabe namens cuisine hinzu, damit Nutzerinnen und Nutzer eine Küche aus dem vollständigen Satz der im Datensatz recipes verfügbaren Küchen auswählen können.
    • Füge in der Sidebar einen Slider-Input namens nb_ingredients hinzu, damit Nutzerinnen und Nutzer die Anzahl der anzuzeigenden Zutaten festlegen können.
    • Füge im Hauptbereich eine Ausgabe für eine interaktive Datentabelle namens dt_top_ingredients hinzu.
  • Server:
    • Filtere recipes basierend auf der ausgewählten Küche und der Anzahl der Top-Zutaten, die angezeigt werden sollen.
    • Rendere die gefilterten Daten als interaktive Datentabelle.
    • Weisen sie einem Output-Objekt namens dt_top_ingredients zu.

Interaktive Übung

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

ui <- fluidPage(
  titlePanel('Explore Cuisines'),
  sidebarLayout(
    sidebarPanel(
      # CODE BELOW: Add an input named "cuisine" to select a cuisine

      # CODE BELOW: Add an input named "nb_ingredients" to select # of ingredients

    ),
    mainPanel(
      # CODE BELOW: Add a DT output named "dt_top_ingredients"

    )
  )
)

server <- function(input, output, session) {
  # CODE BELOW: Render the top ingredients in a chosen cuisine as 
  # an interactive data table and assign it to output object `dt_top_ingredients`







}

shinyApp(ui, server)
Code bearbeiten und ausführen