- •Федеральное агентство связи
- •Введение
- •Разработка Shiny приложений
- •Структура Shiny приложения
- •Создание пользовательского интерфейса
- •Html контент
- •Изображения
- •Виджеты управления
- •Отображение реакции объектов
- •R скрипты и данные
- •Набор данных counties.Rds
- •Скрипт helpers.R
- •Загрузка файлов и указание путей
- •Завершение построения приложения
- •Использование реактивных выражений
- •Флажки и диапазоны дат
- •Оптимизация вычислений
- •Реактивные выражения
- •Зависимости
- •Оптимизация обслуживания флажка
- •Использование Shiny приложений
- •Контрольные задания
- •Разработка knitr документов Использование пакета knitr
- •Разработка r презентаций
- •Начало разработки
- •Основы формирования слайдов
- •Создание контента
- •Переходы между слайдами и навигация
- •Настройка шрифтов и внешнего вида
- •Контрольные задания
Использование Shiny приложений
После того, как приложение создано оно может быть использовано для различных целей. Возможны два основных варианта его использования:
в виде двух файлов: server.R и ui.R, что потребует наличие среды R;
в виде веб-страницы, которая будет доступна для любого браузера.
В заключении данного раздела обратим внимание на интернет ресурс [11], где можно найти много полезной дополнительной информации о пакете Shiny. В частности:
Галерея демо: http://shiny.rstudio.com/gallery/
Статьи: http://shiny.rstudio.com/articles/
Описание функций: http://shiny.rstudio.com/reference/shiny/latest/
Контрольные задания
Задание 1
Создайте веб приложение Shiny с заголовком «Вэб юмор!», использующее на «Боковой панели» виджет «Числовой ввод». При вводе номера комикса приложение в «Основной панели» должно выводить соответствующий комикс с сайта: http://xkcd.com/.
Задание 2
Создайте веб приложение Shiny с заголовком «Анализ HTML контента», использующее на «Боковой панели» виджеты «Ввод файла» и «Выбор варианта». При каждом вводе нового файла с расширением HTML и выборе одного из тегов h1, h2, h3 или p, приложение в «Основной панели» должно выводить соответствующий контент.
Задание 3
Создайте Shiny приложение, в котором пользовательский интерфейс будет включать виджет «Ввод файла» в боковой панели. При выборе пользователем любого текстового файла приложение должно строить облако слов (Word Cloud) и выводить его на основную панель.
Задание 4
Создайте Shiny приложение, в котором пользовательский интерфейс будет включать виджеты «Поле ввода» и «Группа выбора» в боковой панели. После ввода URL ресурса и выбора типа тега, приложение должно выводить смысловое содержимое выбранных тегов.
В группе выбора должны быть указаны следующие типы тегов: h1, h2, h3, p и a.
Разработка knitr документов Использование пакета knitr
Этот пакет предоставляет инструмент общего назначения для динамической генерации отчетов и презентаций в R, в которых могут быть использованы любые языки разметки, в том числе Sweave, HTML, Markdown, ReStructuredText, AsciiDoc и Textile [15]. Полученный документ может демонстрироваться непосредственно в браузере. Пакет knirt обеспечивает целый ряд полезных свойств:
cвойство прозрачности, которое означает, что пользователь имеет полный доступ к каждой части документа при его формировании [16];
knitr автоматически запускает R код при демонстрации документа, как в среде Rstudio, так и в браузере;
дизайн knitr позволяет использовать разные языки сценариев (например, R, Python и AWK) и языки выходной разметки (например, LaTeX, HTML, Markdown, AsciiDoc и ReStructuredText) [17].
Разработка r презентаций
Для разработки R презентаций требуется RStudio v0.98 или более поздняя версия. Начиная с этой версии, пользователям предоставляется возможность очень просто создавать HTML5 презентации, без знания HTML и JavaScript. R презентации базируются на R Markdown и характеризуются следующими особенностями:
очень простой синтаксис (Markdown);
автоматический вывод результатов выполнения включенного в слайд R кода (в том числе графиков и изображений);
поддержка LaTeX уравнений с использованием MathJax;
гибкая раскладка контента слайда на два столбца;
множество вариантов для переходов между слайдами и слайд - навигации;
возможность настраивать внешний вид слайдов с использованием CSS;
возможность предварительного просмотра в рамках RStudio;
может воспроизводится внутри RStudio или как автономные презентации HTML5 в веб-браузере;
может быть легко опубликована для общего веб доступа в RPubs.
Цель R презентаций, состоит в том, чтобы сделать создание авторских слайдов, которые используют R код и LaTeX уравнения так просто, как это возможно. Они особенно полезны для учебного использования, поскольку их можно демонстрировать непосредственно из среды, которая используется для написания и изучения кода.