GNU R: различия между версиями

Материал из ALT Linux Wiki
 
(не показано 16 промежуточных версий 2 участников)
Строка 1: Строка 1:
== GNU R (пакет R-base) ==
== GNU R (пакет R-base) ==
(для 8-й платформы)
(для 8-й платформы, в 9-й можно и не пытаться... Однако в 10-й платформе все в порядке, см. ниже)


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


=== Сборочные зависимости ===
=== Сборочные зависимости ===
Предварительно полезно установить пакет R-doc-html из репозитория.
Для обеспечения сборки библиотек, устанавливаемых из исходных текстов с зеркал CRAN, нужно убедиться, что в системе установлены следующие пакеты:
Для обеспечения сборки библиотек, устанавливаемых из исходных текстов с зеркал CRAN, нужно убедиться, что в системе установлены следующие пакеты:
* R-devel
* R-devel
* libcurl
* libcurl-devel
* liblapack
* liblapack
* liblapack-devel
* liblapack-devel
Строка 15: Строка 19:
* libgfortran3
* libgfortran3
* libgfortran5-devel
* libgfortran5-devel
* gcc-fortran
* gcc-fortran-common
* gcc-fortran-common
* gcc5-fortran
* gcc5-fortran
Строка 24: Строка 29:


Если что-то не установлено, нужно поставить с использованием apt-get install или менеджера пакетов.
Если что-то не установлено, нужно поставить с использованием 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


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


После загрузки исходных текстов библиотек, компиляции и сборки (минут 40-60) получаем сведения о благополучном завершении процесса
После загрузки исходных текстов библиотек, компиляции и сборки (минут 40-60) получаем сведения о благополучном завершении процесса
<code>
<pre>
.......
* DONE (Rcmdr)
Making 'packages.html' ... done


The downloaded source packages are in
.......
‘/tmp/.private/root/RtmplHcEiJ/downloaded_packages’
* DONE (Rcmdr)
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Making 'packages.html' ... done
>  
The downloaded source packages are in
</pre>
‘/tmp/.private/root/RtmplHcEiJ/downloaded_packages’
</code>
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
>  


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


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


Для задач машинного обучения и DataMinig может быть использована графическая оболочка '''rattle'''.
Для задач машинного обучения и 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


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

Текущая версия от 16:33, 6 января 2022

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

В 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)