ComeçarComece de graça

Explorar culinárias: principais ingredientes

Comida tem apelo universal, e a incrível variedade de pratos que dá para criar com a multiplicidade de ingredientes leva a uma diversidade quase infinita! Neste exercício, você vai usar um conjunto de dados chamado recipes que contém as receitas, a culinária a que elas pertencem e os ingredientes usados, para construir um app Shiny que permite ao usuário explorar os ingredientes mais usados por culinária.

Seu app final deve se parecer com a imagem nesta captura de tela.

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

Já carregamos os pacotes shiny e dplyr, assim como o conjunto de dados recipes. Além disso, aqui vai um trecho de código útil que retorna os 10 ingredientes mais usados na culinária grega. Você vai achar isso útil para criar a tabela interativa no app, com base na culinária e no número de ingredientes selecionados pelo usuário.

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

Este exercício faz parte do curso

Construindo Aplicações Web com Shiny em R

Ver curso

Instruções do exercício

  • UI:
    • Adicione um input na barra lateral chamado cuisine para permitir que os usuários selecionem uma culinária entre o conjunto completo de culinárias disponíveis no conjunto de dados recipes.
    • Adicione um controle deslizante chamado nb_ingredients na barra lateral para permitir que os usuários selecionem o número de ingredientes a exibir.
    • Adicione uma saída de tabela de dados interativa no painel principal chamada dt_top_ingredients.
  • Server:
    • Filtre recipes com base na culinária selecionada e no número de principais ingredientes a exibir.
    • Renderize os dados filtrados como uma tabela de dados interativa.
    • Atribua-a a um objeto de saída chamado dt_top_ingredients.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 e executar o código