Criando algumas funções auxiliares
Há muitos elementos que podem ser adicionados a um shinydashboard. Para permitir interações entre as entradas do usuário e as saídas do dashboard, você precisa definir essas interações dentro das funções render que ficam no servidor.
O código pode ficar confuso rapidamente se houver muitas interações e muitas saídas. Uma forma de contornar esse problema é criar suas próprias funções auxiliares fora do ambiente do shinydashboard.
A seguir, você vai construir duas funções auxiliares:
num_listings(): Retorna o número de anúncios com base nos dados filtrados dentro de um intervalo deprice.make_plots(): Cria boxplots ou violin plots conforme a seleção do usuário e com base nos dados filtrados dentro de um intervalo deprice.
listings já está carregado, e sf, tidyverse e leaflet foram importados.
Este exercicio faz parte do curso
Construindo dashboards com shinydashboard
Instruções do exercicio
- Filtre
listingspara que fique restrito entre os limites esquerdo e direito do argumentorange, que é um espaço reservado para uma entrada da shinyApp. - Defina as condições if-else corretas para que boxplots sejam plotados quando
choicecorresponder a"Box plots", e violin plots quando for"Violin plots".
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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()
}}