НачатьНачать бесплатно

Фильтрация по ожидаемой продолжительности жизни

Настоящая сила Shiny раскрывается, когда элементы ввода сочетаются с выводом данных. Таблица, созданная в предыдущем упражнении, статична — её нельзя изменить, — однако для исследования данных гораздо удобнее дать пользователю возможность самостоятельно выбирать, какое подмножество данных отображать.

Добавьте элемент ввода, который позволит пользователю задавать значение для фильтрации. Тогда таблица из предыдущего упражнения станет динамической.

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

Это упражнение является частью курса

Примеры использования: создание веб-приложений с Shiny в R

Посмотреть курс

Инструкции к упражнению

  • Добавьте в UI слайдер с идентификатором "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)
Редактировать и запускать код