Inizia subitoInizia gratis

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.

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

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

Visualizza corso

Istruzioni dell'esercizio

  • UI:
    • Aggiungi nella sidebar un input chiamato cuisine per permettere agli utenti di selezionare una cucina tra tutte le cucine disponibili nel dataset recipes.
    • Aggiungi nella sidebar uno slider input chiamato nb_ingredients per 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.
  • Server:
    • Filtra recipes in 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.

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)
Modifica ed esegui il codice