Kom igångKom igång gratis

Utforska kök: vanligaste ingredienserna

Mat har ett universellt tilltal, och den fantastiska mängd rätter man kan skapa med alla möjliga ingredienser ger nästan oändlig variation! I den här övningen använder du en datamängd med namnet recipes som innehåller recept, vilket kök de tillhör och vilka ingredienser de använder – för att bygga en Shiny-app där användaren kan utforska de vanligaste ingredienserna per kök.

Din färdiga app bör likna bilden i den här skärmbilden.

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

Paketen shiny och dplyr samt datamängden recipes är redan inlästa. Här är ett praktiskt kodavsnitt som hämtar de 10 vanligaste ingredienserna i grekisk mat. Det är användbart när du skapar den interaktiva datatabellen i appen, baserat på det kök och det antal ingredienser som användaren väljer.

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

Den här övningen är en del av kursen

Bygg webbapplikationer med Shiny i R

Visa kurs

Övningsinstruktioner

  • UI:
    • Lägg till en inmatning i sidopanelen med namnet cuisine så att användaren kan välja ett kök från alla kök som finns i datamängden recipes.
    • Lägg till en sliderinmatning med namnet nb_ingredients i sidopanelen så att användaren kan välja hur många ingredienser som ska visas.
    • Lägg till en interaktiv datatabell i huvudpanelen med namnet dt_top_ingredients.
  • Server:
    • Filtrera recipes baserat på valt kök och antal toppingredienser som ska visas.
    • Rendera den filtrerade datan som en interaktiv datatabell.
    • Tilldela den till ett utdataobjekt med namnet dt_top_ingredients.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod