Какой предпочтительный способ установки пакетов R в Ubuntu?

Вопрос или проблема

Я устанавливаю R в Ubuntu, но немного запутался с множеством вариантов установки пакетов.

Традиционный способ — это установить их внутри R с помощью install.package().
Однако Ubuntu предлагает возможность установки с помощью apt-get. Это интересно, ведь операционная система будет поддерживать пакеты в актуальном состоянии. Однако из-за того, что в системе доступно лишь несколько пакетов, это рано или поздно создаст проблемы. Мне в конечном итоге придется устанавливать пакеты традиционным способом, устанавливая их разными способами, и, возможно, это приведет к проблемам с версиями.

Какой способ установки и поддержания R пакетов в Ubuntu является предпочтительным?

Я думаю, что единственные пакеты R, доступные через репозитории Ubuntu, – это пакеты, поддерживаемые основной командой разработчиков R. Как и с большинством пакетов, те, которые доступны через apt или synaptic, не всегда являются самыми новыми версиями. К счастью, у вас есть возможность добавить источник программного обеспечения, поддерживаемый CRAN, создав новый файл в /etc/apt/sources.list.d/CRAN.list, содержащий одну строку текста:

deb http://cran.r-project.org/bin/linux/ubuntu trusty/

(замените trusty/ на кодовое имя вашей дистрибуции; если вы не знаете его, введите lsb_release -c в терминале). После этого (и команды apt update) ваш менеджер пакетов всегда будет устанавливать (или обновлять до) версии, поддерживаемые CRAN, r-base, r-base-core и т.д., потому что у них будут более высокие номера версий, чем у версий из исходников debian. См. здесь, если apt жалуется на то, что репозиторий не подписан.

Для всех других пакетов (так называемые “внесенные пакеты”) я предпочитаю устанавливать их внутри R через install.packages(c("name_of_package", "name_of_other_package")), по возможности, если не знаю наверняка, что версия в CRAN старая и что в новой версии есть необходимая функциональность. В таких случаях вы можете установить с GitHub с помощью devtools::install_github('AccountName/RepositoryName') или скачать архив и установить его из окна терминала с помощью R CMD INSTALL name_of_package.tar.gz, или внутри R с помощью install.packages("/path/to/downloaded/package.tar.gz", repos=NULL, type="source").

Для полноты картины вот официальное руководство от CRAN.

Я обычно устанавливаю с помощью apt-get r-cran при любой возможности, поскольку это упрощает работу с зависимостями и обновлениями. Только если это недоступно, я использую установку из R.

Обратите внимание, что существует два репозитория для Debian пакетов R:

  1. Официальный R: предоставляет несколько пакетов. Чтобы включить его, вам нужно добавить ссылку на репозиторий обновив свой файл source.list. Это задокументировано на странице CRAN-ubuntu, затем выполните apt-get update, затем upgrade.
  2. PPA: Майкл Руттер предоставляет ppa, cran2deb4ubuntu, который содержит гораздо больше пакетов. Для некоторой документации см. конец этого блога. Вам просто нужно выполнить (затем после обновления/повышения):

     sudo add-apt-repository ppa:marutter/c2d4u
    

Обратите внимание, что для R 3.5.0 имя репозитория изменилось, и библиотеки Task Views, предварительно скомпилированные Майклом Руттером, теперь доступны из cran2deb4ubuntu_3.5

ОБНОВЛЕНИЕ: cran2deb4ubuntu теперь поддерживается командой. Используйте sudo add-apt-repository ppa:c2d4u.team/c2d4u4.0+ для установки дополнительных пакетов за пределами CRAN

Вы можете использовать функцию pkg_install в пакете pak. Дополнительную информацию смотрите по этой ссылке.

Проект cran2deb4ubuntu (c2d4u) больше не обновляется.

И c2d4u, и проект R рекомендуют использовать вместо этого проект r2u.

Если вы используете LTS версию Ubuntu (например, 20.04, 22.04 или 24.04), бинарные файлы всех библиотек R в CRAN (включая их зависимости) поддерживаются в репозитории r2u, поддерживаемом Дирком Эддельбюттелем. Эти бинарные файлы позволяют устанавливать R пакеты в Ubuntu двумя различными способами: (1) функция install.packages(“libname”) может быть использована при запуске R, или (2) sudo apt install r-cran-libname может быть использована в терминальном режиме, где libname — это имя пакета R.

Полное описание репозитория r2u и команды linux, необходимые для того, чтобы сделать этот репозиторий доступным, доступны на следующей веб-странице:

https://github.com/eddelbuettel/r2u

.

Ответ или решение

Установка пакетов R в Ubuntu может вызывать путаницу из-за множества доступных методов. Важно выбирать тот способ, который обеспечивает наибольшую стабильность и актуальность версий пакетов. Рассмотрим различные методы и их преимущества.

Традиционный метод установки через R

Один из наиболее распространённых методов — это установка пакетов непосредственно в R, используя функцию install.packages(). Этот способ предоставляет доступ к последним версиям пакетов из CRAN, что особенно важно, если вам требуется функциональность, представленная только в новых выпусках.

install.packages("название_пакета")

Установка с помощью APT

Ubuntu позволяет устанавливать некоторые пакеты R с помощью apt-get, что может быть удобно для управления зависимостями и обновлениями на уровне ОС. Однако количество доступных пакетов в репозитории Ubuntu ограничено, и они могут не содержать последние версии. Это вызывает необходимость в дополнительной настройке и установке из других источников.

Репозиторий CRAN и PPA

Чтобы обеспечить доступ к более актуальным версиям R и его компонентов, вы можете добавить репозиторий CRAN в систему:

  1. Добавьте CRAN в файл /etc/apt/sources.list.d/CRAN.list:

    deb http://cran.r-project.org/bin/linux/ubuntu your_dist_codename/

    не забыв заменить your_dist_codename на кодовое имя вашей версии Ubuntu, найденное через команду lsb_release -c.

  2. Обновите списки пакетов:

    sudo apt update

Для доступа к более широкой базе пакетов стоит рассмотреть установку PPA от Michael Rutter:

sudo add-apt-repository ppa:marutter/c2d4u
sudo apt update

Важно: Проект c2d4u более не поддерживается, и рекомендуется использование нового репозитория r2u, поддерживаемого Dirk Eddelbuettel. Этот репозиторий поддерживает бинарные пакеты для LTS версий Ubuntu и облегчает управление пакетами через apt.

Установка через r2u

Проект r2u значительно упрощает установку и обслуживание пакетов R в Ubuntu:

  1. Добавьте репозиторий r2u:

    sudo add-apt-repository -y ppa:edd/r2u
    sudo apt update
  2. Установка пакетов может выполняться двумя способами:

    • Через R, используя install.packages("название_пакета").
    • Через терминал: sudo apt install r-cran-имя_пакета.

Подробнее об использовании r2u можно узнать на официальной странице проекта.

Заключение

Для стабильной и актуальной работы с пакетами R в Ubuntu рекомендуется комбинировать использование традиционной функции install.packages() с инструментами системы управления пакетами Ubuntu и репозиториями, такими как r2u. Это позволит вам использовать преимущество последних обновлений и пользоваться удобством системной интеграции и управления зависимостями.

Оцените материал
Добавить комментарий

Капча загружается...