Začněte nyníZačněte zdarma

Prozkoumej kuchyně: nejpoužívanější ingredience

Jídlo má univerzální přitažlivost a nekonečná rozmanitost receptů vzniká kombinací nespočtu ingrediencí! V tomto cvičení použiješ datovou sadu recipes, která obsahuje recepty, kuchyni, do níž patří, a jejich ingredience. Postavíš na tom Shiny aplikaci, která uživateli umožní prozkoumat nejpoužívanější ingredience podle kuchyně.

Výsledná aplikace by měla vypadat jako na tomto snímku obrazovky.

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

Balíčky shiny a dplyr i datová sada recipes jsou už načtené. Jako pomůcka ti poslouží tento úryvek kódu, který vrátí 10 nejpoužívanějších ingrediencí řecké kuchyně. Využiješ ho při vytváření interaktivní datové tabulky v aplikaci na základě kuchyně a počtu ingrediencí, které uživatel zvolí.

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

Toto cvičení je součástí kurzu

Tvorba webových aplikací se Shiny v R

Zobrazit kurz

Pokyny k cvičení

  • UI:
    • Do postranního panelu přidej vstupní prvek s názvem cuisine, který uživateli umožní vybrat kuchyni z celé sady kuchyní dostupných v datové sadě recipes.
    • Do postranního panelu přidej posuvník s názvem nb_ingredients, který uživateli umožní zvolit počet ingrediencí k zobrazení.
    • Do hlavního panelu přidej výstup interaktivní datové tabulky s názvem dt_top_ingredients.
  • Server:
    • Filtruj recipes podle vybrané kuchyně a počtu nejpoužívanějších ingrediencí k zobrazení.
    • Vyfiltrovaná data zobraz jako interaktivní datovou tabulku.
    • Přiřaď ji výstupnímu objektu s názvem dt_top_ingredients.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód