Пакеты и установка библиотек

Учимся расширять возможности R с помощью пакетов — готовых наборов функций.

Пакет — это набор функций, данных и документации, который добавляет в R новые возможности.

Базовый R уже умеет много, но настоящая сила языка — в тысячах пакетов, написанных сообществом. Хотите красивые графики — берёте ggplot2. Удобную работу с таблицами — dplyr. Чтение Excel-файлов — readxl. Всё это бесплатно и устанавливается одной командой.

Подумайте о пакетах как о приложениях для смартфона. Сам телефон умеет звонить и фотографировать, но настоящие возможности раскрываются после установки приложений под ваши задачи. Так же и R: «из коробки» он силён в статистике, а пакеты добавляют ему чтение любых форматов, интерактивные графики, машинное обучение, работу с картами, генерацию отчётов. На момент написания курса в CRAN опубликовано более двадцати тысяч пакетов — практически на любую задачу анализа данных уже есть готовый инструмент. Умение находить и подключать нужный пакет — важная часть продуктивной работы в R.

CRAN — главный склад пакетов

Пакеты хранятся в централизованном репозитории CRAN (Comprehensive R Archive Network). Это проверенное хранилище: прежде чем пакет попадёт туда, его автоматически тестируют. Установка идёт прямо оттуда.

Установить и подключить

Установка пакета — разовое действие, оно скачивает файлы на компьютер:

install.packages("dplyr")

А вот подключать пакет нужно в каждой новой сессии — командой library:

library(dplyr)

# теперь функции пакета доступны
result <- filter(data, age > 18)

Различие важное: install.packages вы вызываете один раз (пакет «лежит на диске»), а library — каждый раз при запуске скрипта, чтобы «достать» функции в текущую сессию.

КомандаКогдаЧто делает
install.packages("x")один разскачивает пакет на диск
library(x)каждую сессиюподключает пакет в работу

tidyverse — набор пакетов

Часто вместо отдельных пакетов ставят tidyverse — это «коллекция» из dplyr, ggplot2, readr и других, объединённых единым стилем. Одна установка — и под рукой весь современный инструментарий анализа данных.

install.packages("tidyverse")
library(tidyverse)

Как работает под капотом

Когда вы пишете library(dplyr), R загружает функции пакета в специальное пространство имён и «вставляет» его в путь поиска. Теперь, встретив имя filter, R найдёт его в подключённом пакете. Если два пакета определяют функцию с одинаковым именем, побеждает подключённый последним — поэтому иногда появляется предупреждение «маскирует объект» (masked object).

Частые ошибки

  • Вызвать install.packages в каждом скрипте. Это лишняя загрузка из интернета. Устанавливайте пакет один раз.
  • Забыть library. После перезапуска R пакеты не подключены автоматически — без library функция выдаст ошибку «could not find function».
  • Перепутать кавычки. В install.packages имя пакета — строка в кавычках, а в library — обычно без кавычек.

Итог

  • Пакеты расширяют R готовыми функциями.
  • Главный репозиторий — CRAN.
  • install.packages — один раз, library — каждую сессию.
  • tidyverse — набор современных пакетов для анализа данных.
Проверьте себя
1. Чем отличается install.packages от library?
AЭто одно и то же
Binstall.packages скачивает пакет один раз, library подключает его каждую сессию
Clibrary скачивает пакет, install.packages подключает
Dlibrary работает только для tidyverse
2. Что такое CRAN?
AГрафический пакет R
BЦентрализованный репозиторий пакетов R
CФункция чтения CSV
DСреда разработки
3. Что включает в себя tidyverse?
AТолько ggplot2
BНабор пакетов: dplyr, ggplot2, readr и другие в едином стиле
CТолько функции базового R
DСреду RStudio