Zacznij terazZacznij za darmo

Odkrywaj kuchnie: najpopularniejsze składniki

Jedzenie łączy ludzi na całym świecie, a ogromna różnorodność składników pozwala tworzyć niemal nieskończoną liczbę dań! W tym ćwiczeniu skorzystasz ze zbioru danych recipes, który zawiera przepisy, przypisane do nich kuchnie oraz używane składniki. Twoim zadaniem jest zbudowanie aplikacji Shiny, która pozwoli użytkownikowi eksplorować najpopularniejsze składniki w poszczególnych kuchniach.

Twoja gotowa aplikacja powinna wyglądać jak na poniższym zrzucie ekranu.

Aplikacja wyświetlająca interaktywną tabelę z najpopularniejszymi składnikami dla wybranej kuchni

Pakiety shiny i dplyr oraz zbiór danych recipes są już wczytane. Poniżej znajdziesz przydatny fragment kodu, który zwraca 10 najczęściej używanych składników w kuchni greckiej. Pomoże ci on zbudować interaktywną tabelę danych w aplikacji, bazującą na wybranej przez użytkownika kuchni i liczbie składników.

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

To ćwiczenie jest częścią kursu

Tworzenie aplikacji internetowych z Shiny w R

Zobacz kurs

Instrukcje do ćwiczenia

  • UI:
    • Dodaj w panelu bocznym pole wejściowe o nazwie cuisine, które pozwoli użytkownikom wybrać kuchnię spośród wszystkich dostępnych w zbiorze danych recipes.
    • Dodaj w panelu bocznym suwak o nazwie nb_ingredients, który pozwoli użytkownikom określić liczbę składników do wyświetlenia.
    • Dodaj w panelu głównym wyjście interaktywnej tabeli danych o nazwie dt_top_ingredients.
  • Server:
    • Przefiltruj recipes według wybranej kuchni i liczby najpopularniejszych składników do wyświetlenia.
    • Wyrenderuj przefiltrowane dane jako interaktywną tabelę danych.
    • Przypisz wynik do obiektu wyjściowego o nazwie dt_top_ingredients.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod