Explorează bucătăriile: cele mai folosite ingrediente
Mâncarea are un farmec universal, iar varietatea aproape infinită de preparate ce pot fi create din multitudinea de ingrediente disponibile este uimitoare! În acest exercițiu, vei folosi un set de date numit recipes, care conține rețete, bucătăria căreia îi aparțin și ingredientele utilizate, pentru a construi o aplicație Shiny ce permite utilizatorului să exploreze cele mai folosite ingrediente pe bucătărie.
Aplicația ta finală ar trebui să arate ca în captura de ecran de mai jos.

Am încărcat deja pachetele shiny și dplyr, precum și setul de date recipes. În plus, iată un fragment de cod util care îți returnează primele 10 ingrediente folosite în bucătăria grecească. Îl vei putea adapta pentru a crea tabelul de date interactiv din aplicație, în funcție de bucătăria și numărul de ingrediente selectate de utilizator.
recipes %>%
filter(cuisine == 'greek') %>%
count(ingredient, name = 'nb_recipes') %>%
arrange(desc(nb_recipes)) %>%
head(10)
Acest exercițiu face parte din cursul
Crearea aplicațiilor web cu Shiny în R
Instrucțiuni pentru exercițiu
- UI:
- Adaugă un input în bara laterală numit
cuisine, pentru a permite utilizatorilor să selecteze o bucătărie din lista completă disponibilă în setul de daterecipes. - Adaugă un slider input numit
nb_ingredientsîn bara laterală, pentru a permite utilizatorilor să selecteze numărul de ingrediente de afișat. - Adaugă un output de tip tabel de date interactiv în panoul principal, numit
dt_top_ingredients.
- Adaugă un input în bara laterală numit
- Server:
- Filtrează
recipesîn funcție de bucătăria selectată și de numărul de ingrediente de top de afișat. - Randează datele filtrate sub forma unui tabel de date interactiv.
- Atribuie rezultatul unui obiect output numit
dt_top_ingredients.
- Filtrează
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)