Inizia subitoInizia gratis

Creare alcune funzioni di supporto

In un shinydashboard si possono aggiungere molti elementi. Per permettere l’interazione tra gli input dell’utente e gli output del dashboard, devi definire queste interazioni all’interno delle funzioni di render nel server.

Se ci sono molte interazioni e molti output, il codice può diventare presto macchinoso. Un modo per aggirare il problema è creare funzioni di supporto personalizzate al di fuori dell’ambiente di shinydashboard.

Di seguito costruirai due funzioni di supporto:

  1. num_listings(): restituisce il numero di annunci in base ai dati filtrati all’interno di un intervallo di price.
  2. make_plots(): crea boxplot o violin plot in base alla selezione dell’utente e ai dati filtrati all’interno di un intervallo di price.

listings è già caricato e sf, tidyverse e leaflet sono stati importati.

Questo esercizio fa parte del corso

Creare dashboard con shinydashboard

Visualizza corso

Istruzioni dell'esercizio

  • Filtra listings in modo che sia limitato tra i limiti sinistro e destro dell’argomento range, che è un segnaposto per un input di shinyApp.
  • Imposta le corrette condizioni if-else così che vengano disegnati i boxplot quando choice è uguale a "Box plots", e i violin plot quando è "Violin plots".

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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()
}}
Modifica ed esegui il codice