GNU R

Материал из ALT Linux Wiki

GNU R (пакет R-base)

(для 8-й платформы, в 9-й можно и не пытаться... Однако в 10-й платформе все в порядке, см. ниже)

При установке пакета R-base устанавливается некоторое количество библиотек (см. результат выполнения функции library() в сеансе R).

Если требуются дополнительные библиотеки, то их нужно устанавливать с зеркал CRAN из исходных текстов.

Сборочные зависимости

Предварительно полезно установить пакет R-doc-html из репозитория.

Для обеспечения сборки библиотек, устанавливаемых из исходных текстов с зеркал CRAN, нужно убедиться, что в системе установлены следующие пакеты:

  • R-devel
  • libcurl
  • libcurl-devel
  • liblapack
  • liblapack-devel
  • libopenblas
  • libopenblas-devel
  • libgfortran3
  • libgfortran5-devel
  • gcc-fortran
  • gcc-fortran-common
  • gcc5-fortran
  • libnlopt
  • libnlopt-devel
  • libnlopt-cxx
  • libGL-devel
  • libGLU-devel

Если что-то не установлено, нужно поставить с использованием apt-get install или менеджера пакетов.

В "Альт Образование 10" для пакетов с fortran достаточно установить

  • gcc-fortran
  • gcc-fortran-common

остальное установится по зависимостям и символическая ссылка на x86_64-alt-linux-gfortran-XX уже имеется.

Кроме того, в "Альт Образование 10" нужно установить пакет gcc10-c++ и сделать символическую ссылку x86_64-alt-linux-g++ на x86_64-alt-linux-g++-10 в /usr/bin.

Еще нужно поставить пакеты

  • tcl
  • tcl-devel
  • tk
  • tk-devel
  • libglpng-devel
  • libpng-devel
  • libjpeg-devel
  • libxml2
  • libxml2-devel

В 64-разрядной системе, кроме того, нужно создать символическую ссылку на libX11.so.x.y (с именем libX11.so) в каталоге /usr/lib

В многопользовательской системе библиотеки R можно ставить для отдельного пользователя, а можно - общесистемно (для всех пользователей).

Общесистемная установка выполняется в сеансе пользователя root.

Общесистемная установка библиотек для R

Поскольку в операционных системах АЛЬТ root не может работать в графическом интерфейсе, то в сеансе пользователя нужно запустить терминал и перейти в сеанс root командой

$ su -

после чего ввести пароль для root'a.

Затем в сеансе пользователя root запускаем R:

# R

Перед установкой библиотек нужно сначала выбрать зеркало CRAN (используем текстовый режим):

> chooseCRANmirror(graphics=FALSE)

Показывается список зеркал. Можно выбрать любое близлежащее путем ввода соответствующего числа (номера). Если при попытке установки библиотек R с зеркал, поддерживающих протокол HTTPS, будут появляться ошибки, связанные с доступом к зеркалу, следует выбирать варианты, для которых нет указания [https] после имени зеркала.

После выбора зеркала дается команда на установку библиотеки. Для начала можно поставить библиотеку Rcmdr (R Commander), которая не только обеспечивает графический интерфейс для использования R, но и сопровождается дополнительными полезными библиотеками (в частности, библиотекой ggplot2).


> install.packages('Rcmdr')

После загрузки исходных текстов библиотек, компиляции и сборки (минут 40-60) получаем сведения о благополучном завершении процесса

.......
* DONE (Rcmdr)
Making 'packages.html' ... done

The downloaded source packages are in
	‘/tmp/.private/root/RtmplHcEiJ/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
> 

Далее можно посмотреть на изменения в наборе библиотек (см. результат выполнения функции library()).

UPD: некоторым библиотекам для сборки требуется x86_64-alt-linux-gfortran (для платформы x86_64), а в /usr/bin может быть, например, x86_64-alt-linux-gfortran-8. Тогда библиотека не собирается. Решение: сделать симлинк. Для i586 - аналогично.

Обеспечение DataMinig

Для задач машинного обучения и DataMinig может быть использована графическая оболочка rattle.

Чтобы она установилась (и работала) опытным путем выяснилось, что требуется выполнить установку дополнительных пакетов:

# apt-get install libgtk+2 libgtk+2-devel libgtk+2-locales
# apt-get install libxml2 libxml2-devel xml-utils libxml++2 libxml++2-devel

Замечания и комментарии

Часть графических библиотек в R использует библиотеку rgl. С ней возможны проблемы.

Выход - не пользоваться такими графическими библиотеками (подробности - см. CRAN Task View: Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization)