Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Установка и использование пакетов в GNU R

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

Предыдущая статья о GNU R: Краткое руководство по статистическим моделям и построению графиков в GNU R,

1. Введение

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

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

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

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

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

> getOption("defaultPackages")
[1] "datasets"  "utils"     "grDevices" "graphics"  "stats"     "methods"

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

> (.packages())
[1] "stats"     "graphics"  "grDevices" "utils"     "datasets"  "methods"  
[7] "base"

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

> (.packages(all.available=TRUE))
 [1] "base"       "boot"       "class"      "cluster"    "codetools" 
 [6] "compiler"   "datasets"   "foreign"    "graphics"   "grDevices" 
[11] "grid"       "KernSmooth" "lattice"    "MASS"       "Matrix"    
[16] "methods"    "mgcv"       "nlme"       "nnet"       "parallel"  
[21] "rpart"      "spatial"    "splines"    "stats"      "stats4"    
[26] "survival"   "tcltk"      "tools"      "utils"

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

Packages in library '/usr/lib/R/library':

base                    The R Base Package
boot                    Bootstrap Functions (originally by Angelo Canty
                        for S)
class                   Functions for Classification
cluster                 Cluster Analysis Extended Rousseeuw et al.
codetools               Code Analysis Tools for R
compiler                The R Compiler Package
datasets                The R Datasets Package
foreign                 Read Data Stored by Minitab, S, SAS, SPSS,
                        Stata, Systat, dBase, ...
graphics                The R Graphics Package
grDevices               The R Graphics Devices and Support for Colours
                        and Fonts
grid                    The Grid Graphics Package
KernSmooth              Functions for kernel smoothing for Wand & Jones
                        (1995)
lattice                 Lattice Graphics
MASS                    Support Functions and Datasets for Venables and
                        Ripley's MASS
Matrix                  Sparse and Dense Matrix Classes and Methods
methods                 Formal Methods and Classes
:

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

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

> library(lattice)

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

> library(help=lattice)

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

>?Lattice

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

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

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

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

$ wget -q http://cran.csiro.au/src/contrib/likelihood_1.5.tar.gz

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

$ sudo R CMD INSTALL likelihood_1.5.tar.gz 
[sudo] password for lubos: 
* installing to library '/usr/local/lib/R/site-library'
* installing *source* package 'likelihood' ...
** package 'likelihood' successfully unpacked and MD5 sums checked
** R
** data
** demo
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded

* DONE (likelihood)

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

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

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

> install.packages("likelihood")
Installing package(s) into '/home/renata/R/x86_64-pc-linux-gnu-library/2.15'
(as 'lib' is unspecified)
--- Please select a CRAN mirror for use in this session ---
Loading Tcl/Tk interface ... done
trying URL 'http://cran.csiro.au/src/contrib/likelihood_1.5.tar.gz'
Content type 'application/x-gzip' length 36789 bytes (35 Kb)
opened URL
==================================================
downloaded 35 Kb

* installing *source* package 'likelihood' ...
** package 'likelihood' successfully unpacked and MD5 sums checked
** R
** data
** demo
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded

* DONE (likelihood)

The downloaded source packages are in
    '/tmp/RtmpWRwfqI/downloaded_packages'

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

> remove.packages("likelihood", "/home/renata/R/x86_64-pc-linux-gnu-library/2.15")

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

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