Esplora le cucine: ingredienti principali
Il cibo ha un fascino universale e l’incredibile varietà di piatti che si possono creare
con una moltitudine di ingredienti porta a una varietà quasi infinita! In questo
esercizio userai un insieme di dati chiamato recipes, che contiene le ricette, la
cucina di appartenenza e gli ingredienti utilizzati, per creare una app Shiny che
permette all’utente di esplorare gli ingredienti più usati per ciascuna cucina.
La tua app finale dovrebbe assomigliare all’immagine in questo screenshot.

Abbiamo già caricato i pacchetti shiny e dplyr, oltre al
dataset recipes. Inoltre, ecco uno snippet di codice utile che
restituisce i 10 ingredienti più usati nella cucina greca. Ti tornerà
utile per creare la tabella dati interattiva nell’app in base alla cucina
e al numero di ingredienti selezionati dall’utente.
recipes %>%
filter(cuisine == 'greek') %>%
count(ingredient, name = 'nb_recipes') %>%
arrange(desc(nb_recipes)) %>%
head(10)
Questo esercizio fa parte del corso
Creare applicazioni web con Shiny in R
Istruzioni dell'esercizio
- UI:
- Aggiungi nella sidebar un input chiamato
cuisineper permettere agli utenti di selezionare una cucina tra tutte le cucine disponibili nel datasetrecipes. - Aggiungi nella sidebar uno slider input chiamato
nb_ingredientsper permettere agli utenti di selezionare il numero di ingredienti da visualizzare. - Aggiungi nel pannello principale un output di tabella dati interattiva chiamato
dt_top_ingredients.
- Aggiungi nella sidebar un input chiamato
- Server:
- Filtra
recipesin base alla cucina selezionata e al numero di ingredienti principali da visualizzare. - Genera i dati filtrati come tabella dati interattiva.
- Assegna il risultato a un oggetto di output chiamato
dt_top_ingredients.
- Filtra
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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)