CommencerCommencez gratuitement

Explorer les cuisines : ingrédients principaux

La nourriture parle à tout le monde, et l’incroyable diversité de plats que l’on peut concocter avec une multitude d’ingrédients offre une variété quasi infinie ! Dans cet exercice, vous allez utiliser un jeu de données nommé recipes qui contient des recettes, la cuisine à laquelle elles appartiennent et les ingrédients utilisés, pour construire une application Shiny qui permet à l’utilisateur d’explorer les ingrédients les plus utilisés selon la cuisine.

Votre application finale devrait ressembler à l’image de cette capture d’écran.

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

Nous avons déjà chargé les packages shiny et dplyr, ainsi que le jeu de données recipes. De plus, voici un petit extrait de code pratique qui récupère les 10 ingrédients les plus utilisés dans la cuisine grecque. Cela vous sera utile pour créer le tableau de données interactif dans l’application en fonction de la cuisine et du nombre d’ingrédients sélectionnés par l’utilisateur.

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

Cet exercice fait partie du cours

<cours>Créer des applications web avec Shiny en R</cours>
Voir le cours

Instructions de l’exercice

  • UI :
    • Ajoutez dans la barre latérale une saisie nommée cuisine pour permettre aux utilisateurs de sélectionner une cuisine parmi l’ensemble des cuisines disponibles dans le jeu de données recipes.
    • Ajoutez un curseur nommé nb_ingredients dans la barre latérale pour permettre aux utilisateurs de sélectionner le nombre d’ingrédients à afficher.
    • Ajoutez, dans le panneau principal, une sortie de tableau de données interactif nommée dt_top_ingredients.
  • Server :
    • Filtrez recipes selon la cuisine sélectionnée et le nombre d’ingrédients principaux à afficher.
    • Affichez les données filtrées sous forme de tableau de données interactif.
    • Assignez-le à un objet de sortie nommé dt_top_ingredients.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code