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:
num_listings(): Vrátí počet nabídek na základě filtrovaných dat v daném cenovém rozsahuprice.make_plots(): Vytvoří krabicový nebo houslový graf podle volby uživatele a na základě filtrovaných dat v daném cenovém rozsahuprice.
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
Pokyny k cvičení
- Filtruj
listingstak, aby data byla omezena na hodnoty mezi levým a pravým limitem argumenturange, který zastupuje vstup shinyApp. - Nastav správné podmínky if-else tak, aby se krabicové grafy zobrazily, když
choiceodpoví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()
}}