ПочатиПочніть безкоштовно

Створення допоміжних функцій

До shinydashboard можна додати багато елементів. Щоб налаштувати взаємодію між введеннями користувача та виходами панелі, ці взаємодії потрібно визначити у функціях render, які розміщені в сервері.

Код може дуже швидко стати громіздким, якщо взаємодій і виходів багато. Один зі способів розв'язати цю проблему — створити власні допоміжні функції поза середовищем shinydashboard.

Далі ви побудуєте дві допоміжні функції:

  1. num_listings(): Повертає кількість оголошень на основі відфільтрованих даних у межах діапазону price.
  2. make_plots(): Створює або boxplot-и, або графіки-скрипки (violin plots) залежно від вибору користувача та на основі відфільтрованих даних у межах діапазону price.

listings завантажено, а sf, tidyverse і leaflet імпортовано.

Ця вправа є частиною курсу

Створення панелей керування з shinydashboard

Переглянути курс

Інструкції до вправи

  • Відфільтруйте listings, щоб залишилися записи між лівою та правою межами аргументу range, який є заповнювачем для вводу shinyApp.
  • Задайте коректні умови if-else так, щоб будувалися boxplot-и, коли choice дорівнює "Box plots", і графіки-скрипки, якщо це "Violin plots".

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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()
}}
Редагувати та запускати код