Začněte nyníZačněte zdarma

Vytvoření pomocných funkcí

Do shinydashboardu lze přidat celou řadu prvků. Aby mohly uživatelské vstupy ovlivňovat výstupy dashboardu, je nutné tyto interakce definovat uvnitř render funkcí umístěných v serveru.

Kód může rychle začít být nepřehledný, pokud pracuješ s mnoha interakcemi a výstupy. Jedním ze způsobů, jak se tomuto problému vyhnout, je vytvořit vlastní pomocné funkce mimo prostředí shinydashboardu.

V následující části vytvoříš dvě pomocné funkce:

  1. num_listings(): Vrátí počet nabídek na základě filtrovaných dat v daném cenovém rozsahu price.
  2. make_plots(): Vytvoří krabicový nebo houslový graf podle volby uživatele a na základě filtrovaných dat v daném cenovém rozsahu price.

listings je načten a balíčky sf, tidyverse a leaflet jsou naimportovány.

Toto cvičení je součástí kurzu

Tvorba dashboardů pomocí shinydashboard

Zobrazit kurz

Pokyny k cvičení

  • Filtruj listings tak, aby data byla omezena na hodnoty mezi levým a pravým limitem argumentu range, který zastupuje vstup shinyApp.
  • Nastav správné podmínky if-else tak, aby se krabicové grafy zobrazily, když choice odpovídá hodnotě "Box plots", a houslové grafy v případě hodnoty "Violin plots".

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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()
}}
Upravit a spustit kód