Mulai sekarangMulai gratis

Membuat beberapa fungsi pembantu

Ada banyak elemen yang dapat ditambahkan ke sebuah shinydashboard. Untuk memungkinkan interaksi antara masukan pengguna dan keluaran dasbor, Anda perlu mendefinisikan interaksi tersebut di dalam fungsi render yang ditempatkan di server.

Kodenya dapat cepat menjadi rumit jika ada banyak interaksi dan banyak keluaran. Salah satu cara untuk mengatasi masalah ini adalah dengan membuat fungsi pembantu Anda sendiri di luar lingkungan shinydashboard.

Berikut ini, Anda akan membangun dua fungsi pembantu:

  1. num_listings(): Mengembalikan jumlah listing berdasarkan data tersaring dalam rentang price.
  2. make_plots(): Membuat boxplot atau violin plot berdasarkan pilihan pengguna, dan berdasarkan data tersaring dalam rentang price.

listings sudah dimuat, dan sf, tidyverse, serta leaflet telah diimpor.

Latihan ini merupakan bagian dari kursus

Membangun Dashboard dengan shinydashboard

Lihat Kursus

Instruksi latihan

  • Saring listings sehingga dibatasi antara batas kiri dan kanan dari argumen range, yang merupakan placeholder untuk input shinyApp.
  • Tetapkan kondisi if-else yang benar sehingga boxplot digambar ketika choice sama dengan "Box plots", dan violin plot jika "Violin plots".

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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()
}}
Edit dan Jalankan Kode