Что такое R пакет: руководство по эксплуатации

Установка R пакетаСегодня был официальный релиз моего R пакета FishResp (бета-тестирование закончилось). В честь этого события решил поделиться боевым опытом с товарищами по цеху. Будет выпущено три статьи про R пакеты. А начнем мы с того, что узнаем для чего они нужны, как их установить на свой компьютер и как максимально эффективно работать с их документацией.

Что такое R пакет?

R пакет является расширением, созданным для решения конкретной задачи на языке R. Пакеты без которых трудно было бы представить работу в R, включены в базовую сборку и автоматически доступны после установки R на Ваш компьютер (так называемое ядро R). Например, пакет stat позволяет проводить статистические тесты, а благодаря пакету graphics возможно построение графиков в R. Однако большинство пакетов имеют узкоспециализированное применение и для работы с ними требуется "расширить" свою библиотеку R, установив необходимый для работы пакет на свой компьютер.

С технической точки зрения, R пакет - это совокупность R функций, данных и документации к ним, собранных в единое целое по стандартной схеме. Каждый пакет должен быть протестирован на предмет ошибок и соответствий стандартам официального архива R пакетов (CRAN). В случае обнаружения несоответствий, пакет не будет принят в CRAN. Благодаря такому подходу принципы работы с любым R пакетом одинаковы, чем обуславливается простота и удобство их использования. К осени 2018 года число пакетов в CRAN превысило 13000 !!!

Как установить и загрузить пакет в R?

Установить R пакет можно несколькими способами. Начнем с самого распространенного случая: установка пакета из CRAN. Для этого просто введите функцию install.packages в консоль, а аргументах которой напишите название искомого пакета (для примера возьмем пакет ggplot2):

install.packages("ggplot2")

В открывшемся окне со списком стран выберите любое зеркало для скачивания. Процесс установки пакета в Вашу библиотеку начнется автоматически. Иногда Вы можете заметить, что вместо одного пакета в Вашу библиотеку загружается несколько. Происходит это из-за того, что зачастую пакет использует функции или данные из других пакетов без которых установленный R пакет не сможет полноценно работать. Таким образом, пакет с зависимостями (dependencies) "подтягивает" другие пакеты и устанавливается в библиотеку вместе с ними.

После установки пакета необходимо загрузить его в Вашу текущую сессию, используя функцию library():

library("ggplot2")

Если это не сделать, функции установленого пакета работать не будут. Объясняется это тем, что при запуске R в него автоматически загружаются только базовые пакеты (о которых мы писали выше), остальные же необходимо загружать вручную.

Установка R пакета через GitHub

Однако не все R пакеты доступны в CRAN. Многие исследователи коллективно работают над R пакетами на платформе GitHub, где они делятся идеями, оповещают о найденных багах, исправляют их и уведомляют об этом остальных пользователей в онлайн режиме. Чаще всего на GitHub публикуются пакеты, которые все еще находятся в стадии разработки/тестирования, поэтому стабильность их работы не гарантирована. Для того, чтобы скачать R пакет с GitHub, необходимо установить сначала пакет "devtools", загрузить его в среду R и использовать функцию install_github(), где указываем в аргументах имя главного разработчика пакета и через слэш называние пакета:

install.packages("devtools") 
library("devtools") 
install_github("Author/PackageName")

Устанавливаем R пакет вручную (архив tar.gz или zip)

Некоторые пакеты находятся на других платформах (например ResearchGate), на сайтах исследовательских групп или личном вебсайте разработчика, откуда можно скачать R пакет на компьютер в виде архива с расширением .tar.gz или .zip. В этом случае, следует загружать пакет вручную, воспользовавшись все той же командой install.packages(). Однако в первом аргументе функции надо указать уже не имя пакета, а адрес скачанного архива, а также ввести дополнительные аргументы:

install.packages("Desktop/PackageName.tar.gz", repos = NULL, type="source")

Чтение документации - ключ к работе с R пакетами!

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

Справочное пособие (Reference Manual), напротив, является техническим описанием R пакета, его функций и данных. В отличие от других видов документации справочное пособие есть у любого пакета доступного в CRAN. Оно написано в определенном формате и синхронизировано с кодом функций. В результате, справочную информацию можно искать при помощи справочных команд в среде R. Например, чтобы узнать описание установленного пакета ggplot2, просто вводим имя пакета, поставив перед ним знак вопроса:

?ggplot2

Перед нами появилась вся доступная информация о пакете ggplot2. Таким же способом можно посмотреть документацию конкретной функции: поставьте после имени пакета двойное двоеточие и имя искомой функции (допустим функция stat_ellipse):

?ggplot2::stat_ellipse

В документации функции Вы можете найти её описание (Description) полный список доступных аргументов, их расшифровку и возможные варианты заполнения (Arguments), какого рода данные она возвращает (Value), а также примеры её использования (Examples). Например, так выглядит автоматически открывшаяся документация в терминалеRGUI и RStudio документация появится в правой части программы).

документация R функции

Все тоже самое можно найти в PDF формате на официальном сайте CRAN (например, справочное пособие пакета ggplot2). На первой странице находится описание R пакета, затем - список его функций и таблиц данных, далее - подробное техническое описание каждой из них в алфавитном порядке.

Заключение

После ознакомления с документацией, можно смело пользоваться R пакетом в своих целях. Здесь уже универсальных инструкций дать не могу, т.к. у всех нас задачи разные, и соответсвенно пакетами мы пользуемся разными. Поэтому если возникли трудности или вопросы, пишите их в комментариях, с радостью отвечу.

А в следующей статье мы будем собирать R пакет своими руками!

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *