Как установить пакеты в r studio

Обновлено: 06.07.2024

На вычислительном кластере НИУ ВШЭ установлены версии R 3.6.1, 4.0.2 и 4.0.3. Для использования окружения R подключите модуль необходимой версии.

Версия Дата выхода Подключаемый модуль
R 3.6.1 2 июля 2019 module load R/v3.6.1
R 4.0.2 25 июня 2020 module load R/v4.0.2
R 4.0.3 12 октября 2020 module load R/v4.0.3

R - интерпретируемый язык программирования, основным способом работы с которым является командный интерпретатор.
На суперкомпьютере не установлены IDE для R (в т.ч. RStudio) - исходный код необходимо писать на локальном ПК, а суперкомпьютер использовать только для выполнения подготовленных расчётов.
Запуск интерактивной версии производится командой R:

Выполнение расчётов рекомендуется производить через Rscript. Также можно подключить ядро R в Jupyter Notebook, запущенный через очередь задач на вычислительном узле.

Установка дополнительных пакетов

Дополнительные пакеты для R устанавливаются пользователями в домашний каталог. Установка должна производиться на логин-сервере (sms), т.к. вычислительные узлы не имеют доступа в Интернет. Некоторые пакеты могут требовать предварительной подготовки окружения - изучите документацию перед выполнением установки.
Общий синтаксис команды установки дополнительных пакетов в R: install.packages("package_name")
При первой установке R запросит и создаст каталог для хранения установленных модулей, а также попросит выбрать сервер, с которого будут заружены установочные файлы.
Проверить корректность установки можно с помощью команды загрузки пакета library("package_name")
Посмотреть все установленные пакеты в окружении можно с помощью команды installed.packages()

Запуск расчетов R на суперкомпьютере

Для выполнения R-файлов в пакетном режиме необходимо подготовить скрипт-файл (например, r.sbatch) для очереди задач:

Для постановки задачи в очередь выполните команду sbatch r.sbatch
Не забудьте скорректировать параметры в скрипте для своих расчетов!
Посмотреть состояние своих задач можно с помощью команды mj

Пример результата расчёта стоимости бриллиантов в зависимости от кол-ва карат



Дополнительная информация

R — очень богатый язык с широкими возможностями. Однако очень скоро мы поймем, что этих возможностей нам не хватает. Эти возможности нам могут предоставить дополнительные пакеты (packages).

В большинстве случаев основным содержанием пакетов является набор дополнительных функций. Кроме функций, пакеты могут содержать наборы данных и новые структуры данных.

Обычно пакеты посвящены решению какого-то класса задач в определенной области. Например, есть множество пакетов для создания какого-то одного типа визуализации. Еще один пример — пакет beepr , который содержит всего две функции: beep() и beep_on_error() для воспроизведения звукового сигнала. Это может быть удобно, если ваш скрипт работает долго, но вы хотите получить уведомление, когда его выполнение завершится.

Более крупные пакеты посвящены целому классу задач. Например, пакеты stringi и stringr посвящены работе со строками, значительно расширяя и делая более удобной работу со строковыми данными в R. Еще один пример: пакет igraph для работы с графами (сетями). Этот пакет предоставляет дополнительный класс данных igraph для хранения и работы с сетями.

Есть и совсем крупные пакеты, которые значительно расширяют базовый функционал R, изменяя основные принципы работы в нем. Это пакеты data.table и tidyverse . Это настолько крупные пакеты, что их даже называют отдельными диалектами R, потому что код, написанный с использованием этих пакетов, довольно сильно отличается от базового R. Кроме того, tidyverse - это не просто пакет, а целая экосистема пакетов, который взаимодополняют друг друга, но для удобства их можно устанавливать и загружать как один пакет tidyverse . Еще один пример крупной экосистемы из пакетов — это пакет mlr3 для машинного обучения, который представляет собой большой расширяемый “пакет пакетов,” где отдельные пакеты посвящены отдельным этапам и задачам машинного обучения.

5.2 Встроенные пакеты R

Вообще, даже сам R является набором из нескольких пакетов: основного base и нескольких других, таких как stats , utils , graphics . Вот их полный список:

Чтобы пользоваться этими пакетами ничего дополнительно делать не нужно.

5.3 Установка пакетов с CRAN

Функция install.packages() позволяет скачивать пакеты с Comprehensive R Archive Network (CRAN). На репозитории CRAN собрано более 16000 пакетов. Каждый из этих пакетов проходит проверку перед попаданием в CRAN: он должен быть хорошо задокументирован, стабильно работать и решать какую-то задачу.

Для примера установим пакет remotes . Это пакет для удобной установки пакетов не с CRAN и скоро нам понадобится.

При установке вы увидите много непонятных надписей красным шрифтом. Не пугайтесь, это нормально, происходит скачивание и установка пакетов. В конце вы увидите что-то вроде этого:

Иногда установка бывает очень долгой, потому что большие пакеты склонны иметь много зависимостей: для работы какого-то пакета может понадобиться другие пакеты, а для тех пакетов - еще какие-то пакеты. Таким образом, устанавливая какой-нибудь современный пакет, вы, возможно, установите десятки других пакетов! Зато если они понадобятся сами по себе, то их уже не нужно будет устанавливать.

5.4 Загрузка установленного пакета

Установить пакет с помощью install.packages() недостаточно, пакет нужно еще загрузить. Для этого есть функция library() .

В отличие от install.packages() , функция library() принимает название пакета и как строчку в кавычках, и как название без кавычек.

Теперь функции, данные и классы из пакета доступны для работы.

5.5 Вызов функции из пакета с помощью ::

Если пакетом нужно воспользоваться всего один-два раза, то имеет смысл не подключать весь пакет, а загрузить отдельную функцию из него. Для этого есть специальный оператор :: , который использует функцию (указанную справа от :: ) из выбранного пакета (указанного слева от :: ), не загружая пакет полностью.

Для примера воспользуемся функцией package_deps() из только что установленного пакета remotes , которая возвращает все зависимости пакета:

В дальнейшем использование оператора :: будет иногда использоваться, чтобы указать, из какого пакета взята функция.

Оператор :: полезен еще и в тех случаях, когда в разных пакетах присутствуют функции с одинаковым названием. Например, у основного пакета tidyverse, dplyr , есть функция filter() . Функция с точно таким же названием есть в базовом R в пакете stats , в котором та выполняет совершенно другую задачу. Если у вас уже загружен dplyr , то использование :: укажет на то, что вы хотите воспользоваться именно функцией filter() из пакета stats :

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

5.6 Установка пакетов c Bioconductor

У биологов есть свой большой репозиторий, который является альтернативой CRAN, — Bioconductor. С него можно скачать множество специализированных пакетов для работы с биологическими данными.

Для установки пакетов с Bioconductor сначала нужно скачать пакет BiocManager с CRAN.

Теперь можно воспользоваться функцией install() из пакета BiocManager для установки пакета flowCore — пакета для анализа данных проточной цитометрии.

5.7 Установка пакетов с Github

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

Во всех этих случаях пакет обычно можно скачать с репозитория Github. Для этого нам понадобится уже установленный (с CRAN, разумеется) пакет remotes 10 .

Теперь установленный пакет осталось загрузить, после чего им можно пользоваться.


Пакет remotes можно так же использовать для загрузки пакетов из Bioconductor:

5.8 Где искать нужные пакеты

Мы разобрались с тем, как устанавливать пакеты. А где же их находить?

Это вопрос гораздо более сложный чем может показаться. Например, можно работать в R и не знать, что существует пакет, который решает нужную для вас задачу. Или же найти такой пакет и не знать, что есть более современный пакет, который делает это еще лучше!

Здесь нет каких-то готовых решений. CRAN пытается создавать и поддерживать тематические списки (Task View) пакетов с описанием задач, которые они решают:

Безусловно, если вы глубоко занимаетесь какой-либо темой из списка, то стоит изучить соотвестствующий Task View, но начинать знакомство с помощью Task View достаточно тяжело.

Другой вариант — просто погуглить, найти релевантные статьи или книги. Внимательно смотрите на дату публикации: R — очень быстро развивающийся язык, поэтому с большой вероятностью то, что было написано пять лет назад уже потеряло актуальность. Нет, работать это будет, но, скорее всего, появился более удобный и продвинутый инструмент.

пакет remotes “откололся” от более старого пакета devtools , а многие функции из remote просто скопированы из devtools . Разработчики devtools / remotes рекомендуют использовать для установки пакетов именно более легковесный remotes , но во многих случаях вы увидите код с devtools::install_github() . Оба варианта будут работать.↩︎

Оригинал: How to install and use packages in GNU R
Автор: Renata Rendek
Дата публикации: февраль 2013 года
Перевод: А. Кривошей
Дата перевода: май 2013 г.

1. Введение

GNU R предлагает пользователям большой набор пакетов различных типов, позволяющих строить графики или выполнять статистические тесты. Некоторые пакеты специально созданы для использования в каких-либо отраслях промышленности. Многие уже включены в базовый инсталляционный набор R, но часть необходимо устанавливать дополнительно. В этой статье описывается, как устанавливать и использовать пакеты в R.

2. Что такое пакет

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

3. Просмотр списка пакетов в локальной библиотеке

Проверить установленные по умолчанию в R пакеты можно с помощью функции getOption():

В приведенном выше списке опущен базовый пакет. Он всегда загружается при запуске R и содержит элементарные функции.
Вы также можете просмотреть список загруженных в настоящее время пакетов:

Чтобы увидеть все доступные пакеты, необходимо к приведенному выше выражению добавить опцию all.available.

Более того, вы можете выполнить функцию library() без аргументов. В выводе будет список всех доступных пакетов с кратким описанием, как показано ниже:

4. Загрузка пакетов

Давайте загрузим пакет lattice. Это можно сделать с помощью функции library():

Вывести относящуюся к пакету документацю можно с помощью следующей команды:

Эта команда выводит список релевантной информации для пакета lattice с функциями, которые могут быть использованы в этом пакете.
Дополнительную информацию можно получить с помощью команды:

5. Поиск и установка пакетов для R

Один из самых больших источников пакетов для R - Comprehensive R Archive Network (CRAN). Он поддерживается R Foundation, которая также контролирует разработку R. CRAN имеет несколько зеркал по всему миру, поэтому вы можете найти ближайшее к вам для минимизации времени загрузки. Например, вы можете получить список доступных в CRAN пакетов для R.Также в CRAN доступна документации для каждого пакета.

5.1. Установка пакетов R в командной строке Linux

Во-первых, мы опишем, как установить пакет R из командной строки Linux. Например, мы могли бы установить пакет "likelihood". Мы можем скачать его с помощью команды:

Далее мы используем команду R CMD INSTALL для его установки. Обратите внимание, что, в зависимости от директории, в которую устанавливается пакет, вам могут потребоваться привилегии суперпользователя.

Примечание: некоторые пакеты имеют зависимости. В этом случае необходимо сначала установить их с помощью этой же команды.

5.2. Установка пакетов из консоли R

В R имеется функция для установки пакетов непосредственно из консоли R. Эта функция предлагает вам выбрать ближайшее зеркало, а затем скачивает и устанавливает требуемый пакет. Обратите внимание на путь, по которому будет устанавливаться пакет. Он понадобится, если будет нужно удалить соответствующий пакет.

Теперь давайте удалим пакет likelihood. Это можно сделать с помощью команды:

6. Заключение

С помощью этой статьи мы приблизились к использованию пользовательских пакетов в GNU R. Как вы могли убедиться, выбор пакетов просто огромен, что объясняет чрезвычайно широкое применение GNU R в различных областях науки и промышленности.

Как установить R на сервер и автоматизировать рутинные задачи

При работе с большими массивами информации очень часто приходиться использовать язык программирования, в моем случае это язык R, для сбора, подготовки и последующей обработки данных. Сначала, мне вполне хватало desktop версии R-studio, и пакета taskscheduleR для автоматического запуска скриптов на моём компьютере. Но в какой-то момент количество таких скриптов стало большим и все обновления зависели от того, включен ли мой компьютер. В этот момент я и задумался об установке R на сервер. Для своих потребностей я решил использовать сервер в Google Cloud Platform.

Примечание: Справедливости ради, стоит сказать, что во время установки R на сервер Google Cloud Platform и поисков информации о том, как это сделать, я наткнулся на статью в блоге Netpeak, в которой рассказано как сделать подобное, но при работе с этой статьей у меня все равно возникли сложности, о которых не говорилось в статье.

Итак, о чем мы поговорим:

Создание виртуальной машины в Google Cloud Platform

Если вы решили создать сервер на Google Cloud Platform, то первым делом нужно подобрать и настроить для этих целей виртуальную машину. И здесь Google предоставляет огромный выбор, а ко всему и бесплатный тестовый период равный одному году.

Если вы первый раз используете GCP в своей работе, то перед тем, как приступать к созданию экземпляра виртуальной машины необходимо создать проект, и включить биллинг. Даже если вы используете бесплатный тестовый период, все равно нужно будет привязать свою карту. Денег при этом Google обязуется не снимать 😉 Карта всего лишь подтверждает, что вы реальный человек.

Теперь, когда с формальностями покончено, давайте приступим.

Переходим в консоль GCP на страницу виртуальных машин и выбираем пункт “Create instance”

Create instance in Google Cloud Platforms

В открывшемся окне задаем нужные нам параметры:

Set instance in GCP

Рядом, справа, будет указана примерная стоимость за использование виртуальной машины с заданными параметрами.

Не забудьте нажать на кнопку “Create”. Через некоторое время наша машина будет создана.

Установка R и R Studio на сервер Google Cloud Platform

Чтобы начать работу с только что созданной виртуальной машиной необходимо подключиться к ней по SSH (сетевой протокол, название которого происходит от слов Secure Shell). Он шифрует весь трафик, включая и передаваемые пароли. Для этого достаточно кликнуть на соответствующий пункт в меню:

Подключение к виртуальной машине через SSH протокол

И в новом окне браузера откроется… Матрица ))

Как выглядит подключение к виртуальной машине Google Cloud Platform

Первое что я подумал, увидев это окно “вот она матрица”. Но пообщавшись с программистами и узнав у них некоторые детали, я понял, что это все не так страшно и сейчас вы в этом убедитесь.

Интересно: В большинстве команд, которые мы дальше будем использовать в начале будет указана команда “sudo”, которая позволяет запускать команды от имени суперпользователя root.

Необходимо понимать, что помимо главного репозитория, содержащего все пакеты от разработчиков дистрибутива Ubuntu, существует и масса других источников пакетов. Одним из таких является пакет R. Добавление такого стороннего пакета происходит в 4 этапа:

Читайте также: