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:
num_listings(): Zwraca liczbę ogłoszeń na podstawie przefiltrowanych danych w zakresieprice.make_plots(): Tworzy wykresy pudełkowe lub skrzypcowe na podstawie wyboru użytkownika oraz przefiltrowanych danych w zakresieprice.
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
Instrukcje do ćwiczenia
- Przefiltruj
listings, tak aby dane były ograniczone do wartości między lewym a prawym limitem argumenturange, 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
choicema 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()
}}