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

Фільтрація за тривалістю життя

Справжня перевага Shiny проявляється тоді, коли вводи поєднуються з виводами. Таблиця, створена у попередній вправі, є статичною — її не можна змінити, — але для дослідження краще, щоб користувач міг сам обирати, який піднабір даних переглядати.

Цього можна досягти, додавши елемент введення, який дозволяє користувачу вибрати значення для фільтрації даних. Тоді таблицю з попередньої вправи можна зробити динамічною.

Одна зі змінних у наборі даних gapminderlifeExp (очікувана тривалість життя). Ваше завдання — додати до застосунку Shiny повзунок, який дозволяє вибрати мінімальну та максимальну тривалість життя. Таблиця має показувати лише дані, що відповідають цим значенням.

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

Case Studies: створення вебзастосунків із Shiny в R

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

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

  • Додайте до UI повзунок зі значенням ID "life", мінімальним значенням 0, максимальним значенням 120 і типовим діапазоном 30–50.
  • Усередині функції рендерингу використайте значення введення, щоб відфільтрувати дані gapminder, залишивши лише записи, де lifeExp лежить між мінімальним і максимальним значеннями (обидва включно).

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

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

ui <- fluidPage(
  h1("Gapminder"),
  # Add a slider for life expectancy filter 
  ___(inputId = ___, label = "Life expectancy",
      min = ___, max = ___,
      value = c(30, 50)),
  tableOutput("table")
)

server <- function(input, output) {
  output$table <- renderTable({
    data <- gapminder
    data <- subset(
      data,
      # Use the life expectancy input to filter the data
      lifeExp >= ___life[1] & lifeExp <= ___life[2]
    )
    data
  })
}

shinyApp(ui, server)
Редагувати та запускати код