Explora cocinas: ingredientes principales
La comida tiene un atractivo universal, y la increíble variedad de platos que se pueden crear
con multitud de ingredientes lleva a una diversidad casi infinita. En este
ejercicio, usarás un conjunto de datos llamado recipes que contiene recetas, la
cocina a la que pertenecen y los ingredientes que utilizan, para crear una app Shiny que
permita al usuario explorar los ingredientes más usados por cocina.
Tu app final debería parecerse a la imagen de esta captura de pantalla.

Ya hemos cargado los paquetes shiny y dplyr, así como el
conjunto de datos recipes. Además, aquí tienes un fragmento de código útil que
obtiene los 10 ingredientes más usados en la cocina griega. Te resultará útil para crear la tabla de datos interactiva en la app según la cocina
y el número de ingredientes que seleccione el usuario.
recipes %>%
filter(cuisine == 'greek') %>%
count(ingredient, name = 'nb_recipes') %>%
arrange(desc(nb_recipes)) %>%
head(10)
Este ejercicio forma parte del curso
Creación de aplicaciones web con Shiny en R
Instrucciones del ejercicio
- UI:
- Añade una entrada en la barra lateral llamada
cuisinepara que los usuarios seleccionen una cocina del conjunto completo de cocinas disponible en el conjunto de datosrecipes. - Añade un control deslizante llamado
nb_ingredientsen la barra lateral para que los usuarios seleccionen el número de ingredientes a mostrar. - Añade una salida de tabla de datos interactiva en el panel principal llamada
dt_top_ingredients.
- Añade una entrada en la barra lateral llamada
- Server:
- Filtra
recipesen función de la cocina seleccionada y del número de ingredientes principales a mostrar. - Renderiza los datos filtrados como una tabla de datos interactiva.
- Asígnala a un objeto de salida llamado
dt_top_ingredients.
- Filtra
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)