Пакет Shiny, созданный разработчиками RStudio, представляет собой эффективное средство создания интерактивных веб-приложений на языке R, поддерживающих современные клиент-серверные технологии. Сервер (удаленный компьютер), на котором установлена статистическая среда со всеми необходимыми пакетами, транслирует команды языка R в блоки HTML-кода, формирующие веб-страницу на клиентском компьютере, на котором достаточно установить только интернет-браузер. Созданная веб-страница включает, как правило, реактивные компоненты пользовательского интерфейса - графические виджеты, с помощью которых клиент может ввести исходные данные, установить необходимые параметры расчетов или выполнить иные действия. Сервер отслеживает все изменения на клиентской стороне и изменяет выходные значения по всей цепочке выражений, которые немедленно обновляются браузером на клиентской стороне.
Весь пользовательский веб-интерфейс приложения Shiny может быть описан полностью с помощью средств языка R, но для большей гибкости может включать фрагменты кодов HTML, CSS или JavaScript. Разрабатывать Shiny-приложения можно в любой версии среды R (консольная версия R, Rgui для Windows или Mac, ESS, StatET, RStudio и другие). В сообщении ниже дается краткое описание основных компонентов пакета Shiny и правила их использования, а также приведены некоторые практические примеры.
Весь пользовательский веб-интерфейс приложения Shiny может быть описан полностью с помощью средств языка R, но для большей гибкости может включать фрагменты кодов HTML, CSS или JavaScript. Разрабатывать Shiny-приложения можно в любой версии среды R (консольная версия R, Rgui для Windows или Mac, ESS, StatET, RStudio и другие). В сообщении ниже дается краткое описание основных компонентов пакета Shiny и правила их использования, а также приведены некоторые практические примеры.
В разделе"1. Краткий курс Shiny" описывается структура Shiny – скриптов, наиболее употребимые макеты страницы и средства пользовательского интерфейса (виджеты клиентской части). Представлены также функции server() и механизм обработки прерываний, основанный на принципах "реактивного программирования". Описана методика продвижения Shiny-приложений в интернете, основанная на двух подходах. Первый основан на совмещении клиента и сервера на одном компьютере (или в одной сети) и пользователь запускает скрипты собственного (а также скачанного или размещенного на github-серверах) приложения из среды R. Второй основан на развертывании серверной части приложения на удаленном компьютере и клиент может подключаться к нему, располагая лишь адресом URL. Все эти процедуры могут быть выполнены с помощью функций пакета Shiny.
Во втором разделе приведены некоторые примеры приложений Shiny и представлены их скрипты. В двух примерах экологического характера показаны подбор статистических распределений, управление таблицами данных, выполнение многомерного анализа соответствий (СА), построение ранговых моделей обилия видов и т.д. Приведен текст скрипта, вычисляющего 22 индекса видового разнообразия.
Еще два примера, могут быть интересны не только экологам:
Пример 3. Скачивание Google-таблицы со списком аудиокниг из архива на Telegram (канал https://t.me/arxiv_audio_books ) , содержащем более 36000 наименований. Попытка организации поиска интересующих авторов и чтецов.
Пример 4. Имитация игры в американскую рулетку и сравнительная оценка эффективности систем "На красное", "На номер",Мартингейла и Лабушера.
Текст сообщения в формате PDF может быть загружен с ресурса