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.

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
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.
- Do postranního panelu přidej vstupní prvek s názvem
- Server:
- Filtruj
recipespodle 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.
- Filtruj
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)