ComenzarEmpieza gratis

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.

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

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

Ver curso

Instrucciones del ejercicio

  • UI:
    • Añade una entrada en la barra lateral llamada cuisine para que los usuarios seleccionen una cocina del conjunto completo de cocinas disponible en el conjunto de datos recipes.
    • Añade un control deslizante llamado nb_ingredients en 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.
  • Server:
    • Filtra recipes en 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.

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)
Editar y ejecutar código