Zacznij terazZacznij za darmo

Tworzenie pomocniczych funkcji

Do shinydashboard można dodać wiele elementów. Aby umożliwić interakcje między danymi wejściowymi użytkownika a wynikami na dashboardzie, musisz zdefiniować te interakcje w funkcjach render, umieszczonych w serwerze.

Kod może szybko stać się nieczytelny, gdy interakcji i wyników jest dużo. Jednym ze sposobów na uniknięcie tego problemu jest tworzenie własnych funkcji pomocniczych poza środowiskiem shinydashboard.

Poniżej stworzysz dwie funkcje pomocnicze:

  1. num_listings(): Zwraca liczbę ogłoszeń na podstawie przefiltrowanych danych w zakresie price.
  2. make_plots(): Tworzy wykresy pudełkowe lub skrzypcowe na podstawie wyboru użytkownika oraz przefiltrowanych danych w zakresie price.

Zbiór danych listings jest wczytany, a biblioteki sf, tidyverse i leaflet zostały zaimportowane.

To ćwiczenie jest częścią kursu

Tworzenie dashboardów z shinydashboard

Zobacz kurs

Instrukcje do ćwiczenia

  • Przefiltruj listings, tak aby dane były ograniczone do wartości między lewym a prawym limitem argumentu range, który jest symbolem zastępczym dla danych wejściowych shinyApp.
  • Ustaw właściwe warunki if-else, tak aby wykresy pudełkowe były rysowane, gdy choice ma wartość "Box plots", a wykresy skrzypcowe – gdy "Violin plots".

Interaktywne ćwiczenie praktyczne

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

num_listings <- function(range){
  # Filter listings appropriately
  filter(listings, price >= ___, price <= ___) %>% nrow()
}
make_plots <- function(range, choice){
  filtered_listings <- filter(listings, price >= range[1], price <= range[2])
  # Set the correct if-else conditions
  if (choice == ___){
     filtered_listings %>%
      ggplot(aes(y = price, x = room_type)) + geom_boxplot() + theme_classic()
  }
  else if (___){
    filtered_listings %>%
      ggplot(aes(y = price, x = room_type)) + geom_violin() + theme_classic()
}}
Edytuj i uruchom kod