Вступление
R - это популярный язык программирования с открытым исходным кодом, который специализируется на статистических вычислениях и графике. Он широко используется для разработки статистического программного обеспечения и анализа данных. R легко расширяется, и сообщество известно постоянным добавлением пользовательских пакетов для конкретных областей исследования, что делает его применимым ко многим областям.
В этом руководстве мы покажем вам, как установить devtools и использовать его для установки пакета непосредственно из GitHub.
Предпосылки
Для продолжения вам понадобится R, установленный на сервере Ubuntu 16.04 с минимум 1 ГБ ОЗУ и пользователем без полномочий root с привилегиями + sudo +
. Как настроить R в Ubuntu 16.04 может помочь вам.
Шаг 1 - Установка системных зависимостей для devtools
Мы установим devtools из интерактивной оболочки, но прежде чем сделать это, нам нужно установить следующие системные зависимости:
sudo apt-get install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev
Как только это будет завершено, мы готовы продолжить.
Шаг 2 - Установка пакета Devtools
Devtools позволит нам устанавливать и собирать пакеты напрямую из GitHub, BitBucket, локальных файлов, а также устанавливать конкретные версии из CRAN. Чтобы сделать + devtools +
доступным для всего сайта, мы введем оболочку R в качестве пользователя root:
sudo -i R
Внутри монитора мы будем использовать функцию + install.packages () +
для установки + devtools +
из официальной Comprehensive R Archive Network (CRAN) ,
install.packages('devtools')
Когда будет предложено, мы выберем 1 для 0-Cloud, который соединит нас с Сетью доставки контента (CDN), предоставленной RStudio, чтобы получить географически ближайшее зеркало. После того, как мы сделаем выбор, начнется установка. Это может занять некоторое время. Когда он закончится, ближе к концу вывода установки мы должны увидеть:
Output...
** testing if installed package can be loaded
* DONE (devtools)
Далее, мы протестируем его и получим проект прямо из GitHub.
Шаг 3 - Установка пакета R из GitHub
На этом шаге мы собираемся установить последнюю сборочную версию Shiny, фреймворка веб-приложений для R, непосредственно из GitHub. Мы сделаем это с помощью функции + install_github +
, предоставляемой + devtools +
. Пакет GitHub определяется его автором (+ rstudio +
) и его именем (+ блестящий +
), который можно найти по URL-адресу GitHub главной страницы проекта: + https: // github.com / +
.
Используйте следующую команду для установки:
devtools::install_github('rstudio/shiny')
Установка успешно завершена, когда мы видим следующие строки в конце и возвращаемся в приглашение R:
Output. . .
** testing if installed package can be loaded
* DONE (shiny)
>
Мы можем увидеть конкретную версию Shiny, которую мы установили с помощью следующей команды:
packageVersion("shiny")
Output[1] ‘0.14.0.9000’
На следующем шаге мы кратко рассмотрим Shiny. Сначала нам нужно выполнить несколько задач системного уровня, поэтому мы выйдем из монитора с помощью следующей команды или с помощью CTRL-D:
q()
Любой из них предложит вам сохранить образ рабочего пространства, рабочую среду R, которая включает в себя определенные пользователем объекты. В этом нет необходимости, поэтому вы можете безопасно ввести + n +
.
Поскольку мы будем использовать веб-браузер, чтобы посмотреть на пример того, что может сделать Shiny, мы позаботимся о том, чтобы веб-трафик был разрешен.
Проверьте брандмауэр
Shiny - это фреймворк для веб-приложений, поэтому для просмотра его примеров в браузере нам необходимо убедиться, что веб-трафик разрешен на нашем брандмауэре. Встроенный веб-сервер случайным образом выбирает порт при каждом запуске, если только он не запускается с определенным значением. Чтобы упростить управление брандмауэром, мы укажем порт 4040 при запуске нашего примера.
Давайте проверим состояние брандмауэра:
sudo ufw status
В этом случае только SSH разрешен через:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
У вас могут быть другие правила или вообще нет правил брандмауэра. Поскольку в этом случае разрешен только трафик SSH, мы добавим порт 4040 и проверим состояние, когда закончим:
sudo ufw allow 4040/tcp
sudo ufw status
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
4040/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
4040/tcp (v6) ALLOW Anywhere (v6)
С настроенным брандмауэром мы готовы взглянуть на Shiny.
Run Shiny:
Мы подключимся к R, на этот раз как обычный пользователь:
R
Далее мы загрузим + блестящий +
:
library("shiny")
Блестящий включает в себя одиннадцать встроенных примеров, которые демонстрируют, как это работает. Мы загрузим библиотеку + perfect +
, а затем запустим первый пример. Поскольку мы работаем на удаленном сервере, мы будем указывать адрес хоста для просмотра с нашего локального компьютера. Мы также установим + launch.browser
в` + FALSE`, чтобы он не пытался запустить браузер на удаленном сервере:
runExample("01_hello", host = "", port = 4040, launch.browser= FALSE)
OutputListening on http://:4040
Давайте посетим этот URL в веб-браузере:
изображение: http: //assets.digitalocean.com/articles/R-1604/shiny-01-hello.png [Снимок экрана примера 01 - Привет из Shiny]
Мы установили Shiny, чтобы проиллюстрировать использование + devtools +
для установки непосредственно из репозитория GitHub. Затем мы запустили пример приложения Shiny без повышенных прав, чтобы убедиться, что все пользователи имеют доступ к пакету.
Переустановка стабильной версии Shiny
В производственной ситуации мы будем устанавливать из CRAN, если у нас не было веской причины для установки из репозитория.
Давайте вернемся к стабильному пакету. Сначала мы прервем сервер с помощью CTRL-C, затем выйдем из оболочки R с помощью CTRL-D и снова войдем в него как root:
sudo -i R
Поскольку мы вышли из оболочки, нам будет предложено выбрать зеркало, и мы снова выберем.
Мы можем установить стабильную версию с помощью следующей команды, которая перезапишет установку из GitHub, которую мы завершили на предыдущем шаге:
install.packages("shiny")
Давайте проверим изменение в версии:
packageVersion("shiny")
Output[1] ‘0.14’
Вывод показывает, что вместо + 0.14.9000 +
, версии, которую мы установили из GitHub, мы сейчас работаем со стабильной версией.
Заключение
В этом руководстве мы установили последний пакет Shiny непосредственно из GitHub и узнали, как переустановить его стабильный выпуск из CRAN. Если вы хотите узнать больше о самой Shiny, вы можете ознакомиться с Shiny tutorial от RStudio. Вас также может заинтересовать ininstall сервер с открытым исходным кодом RStudio Server, интерфейс до версии R, работающей на удаленном сервере Linux, которая приводит IDE к развертыванию на основе сервера.