Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР / ЛР№6_Хакова_Ю_М_ИСТ_223

.docx
Скачиваний:
0
Добавлен:
07.06.2026
Размер:
1.05 Mб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Лабораторная работа №6

«Построение веб-приложений с Shiny»

Выполнил: ст. гр. ИСТ-223 Хакова Ю. М.

Проверил: к.т.н., доцент Лабковская Р.Я.

Цель лабораторной работы: познакомиться с технологией создания

интерактивных веб-приложений с помощью пакета shiny.

Задание 1

Приложение должно выводить таблицу, построенную как

выборку из набора данных gapminder. Выборка производится в

интерактивном режиме по следующим параметрам:

1. Выбор года (переключатель) и ВВП на душу населения (слайдер).

2. Выбор континента (раскрывающийся список) и выбор годов (текстовое

поле).

3. Выбор средней продолжительности жизни (слайдер) и выбор годов

(раскрывающийся список).

Ход работы:

  1. Подключение необходимых библиотек shiny, gapminder, и dplyr.

  2. Создать панель интерфейса UI для ввода данных пользователем.

    • Переключатель для выбора года: создается с помощью radioButtons() и слайдер для выбора ВВП на душу населения: создается с помощью sliderInput().

    • Раскрывающийся список для выбора континента: создается с помощью selectInput() и текстовое поле для ввода годов: создается с помощью textInput(), который позволяет пользователю вводить годы через запятую.

    • Слайдер для средней продолжительности жизни: создается с помощью sliderInput() и раскрывающийся список для выбора годов: создается с помощью selectInput() с возможностью множественного выбора (multiple = TRUE), чтобы пользователи могли выбрать один или несколько годов для фильтрации данных.

  3. В серверной части создать функцию renderTable(), которая фильтрует данные на основе всех входных параметров, установленных пользователем.

Результаты программы(рис. 1) представлены на рисунках 2–4.

Рис. 1. Программа для решения задания 1

Рис. 2. Выборка года (переключатель) и ВВП на душу населения (слайдер)

Рис. 3. Выборка континента (раскрывающийся список) и выбор годов (текстовое поле)

Рис. 4. Выборка средней продолжительности жизни (слайдер) и выбор годов

(раскрывающийся список)

Задание 2

С помощью пакета shiny, используя набор данных gapminder пакета

gapminder, постройте интерактивное веб-приложение, позволяющее строить

график формата ggplot, по заданным настройкам. Приложение должно

содержать минимум 3 конструкции типа input. Также необходимо оформить

приложение соответствующим образом, т.е. необходимо, чтобы каждая из

форм ввода входных данных имела соответствующую подпись, также, как и

итоговый график, формируемый приложением.

Ход работы:

  1. Создание панели интерфейса UI для управления графиком с тремя элементами input (выбор страны, диапазон годов, диапазон продолжительности жизни), которые пользователь будет использовать для настройки отображения данных.

  2. Создание серверной функции server, которая обрабатывает данные в соответствии с выбранными пользователем параметрами.

  3. Добавление функции renderPlot(), которая будет генерировать график на основе отфильтрованных данных gapminder.

  4. Выполнить построение линейного графика с помощью ggplot().

Результат программы(рис. 5) представлены на рисунке 6.

Рис. 5. Программа для решения задания 2

Рис. 2. Линейный график для отображения тенденции продолжительности жизни в зависимости от года

Вывод:

Для решения первого задания было разработано веб-приложение на основе Shiny, которое отображает отфильтрованную таблицу данных из набора gapminder. Приложение позволяет пользователю выбирать параметры для фильтрации данных, такие как год, ВВП на душу населения, континент и средняя продолжительность жизни. Благодаря использованию элементов управления и фильтрации данных на сервере пользователь может интерактивно просматривать данные, соответствующие заданным критериям.

Для решения второго задания так же было создано интерактивное веб-приложение с использованием Shiny и ggplot2, чтобы визуализировать изменения продолжительности жизни по годам для выбранной страны. Пользователь может выбирать страну, диапазон годов и диапазон значений продолжительности жизни. На основе этих параметров строится линейный график, отражающий изменение продолжительности жизни с течением времени для конкретной страны.

Санкт-Петербург

2024