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.

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>Instructions de l’exercice
- UI :
- Ajoutez dans la barre latérale une saisie nommée
cuisinepour permettre aux utilisateurs de sélectionner une cuisine parmi l’ensemble des cuisines disponibles dans le jeu de donnéesrecipes. - Ajoutez un curseur nommé
nb_ingredientsdans 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.
- Ajoutez dans la barre latérale une saisie nommée
- Server :
- Filtrez
recipesselon 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.
- Filtrez
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)