Фільтрація за тривалістю життя
Справжня перевага Shiny проявляється тоді, коли вводи поєднуються з виводами. Таблиця, створена у попередній вправі, є статичною — її не можна змінити, — але для дослідження краще, щоб користувач міг сам обирати, який піднабір даних переглядати.
Цього можна досягти, додавши елемент введення, який дозволяє користувачу вибрати значення для фільтрації даних. Тоді таблицю з попередньої вправи можна зробити динамічною.
Одна зі змінних у наборі даних gapminder — lifeExp (очікувана тривалість життя). Ваше завдання — додати до застосунку 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)