Инструментарий аналитика: R

Ниже перечислены пакеты, с которыми я сталкиваюсь в своей работе с той или иной частотой, поэтому набор может выглядеть несколько однобоким. Общие описания пакетов по направлениям и формам работы можно найти в официальном репозитории: cran.r-project.org/web/packages/. Так же есть симпатичная reference card от Yanchang Zhao: cran.r-project.org/doc/contrib/YanchangZhao-refcard-data-mining.pdf. Следует помнить, что немалая часть функций доступна в базовом пакете.

Манипуляции с данными

data.table — ключевой пакет для тех, кто работает с большими датасетами (сотни тысяч, миллионы строк), так как оптимизирован для максимально быстрой работы (сортировки, расщепления, слияния и проч). Операции с таблицами типа data. table совершаются в десятки или даже сотни раз быстрее, чем с простыми таблицами типа data.frame. К сожалению, синтаксис пакета ощутимо отличается от привычного синтаксиса R, и вызывает ощущение некоторой неотмирности и увлеченностью психотропными веществами авторов пакета.

reshape2 — пакет для перевода данных из формата wide в формат long и обратно, быстрый аналог базовой функции reshape.

Визуализация

ggplot2 — графики черные, графики белые, графики испанские… графики плотности, графики круговые, гистограммы — в общем, все, что душа пожелает. Даже есть возможность работать с географическими картами (spatial visualisation). Если что-то не нашлось — скорее всего, это и не нужно. Настраивается все, от цвета и формы графика, до цвета и размера шрифтов легенд. Впрочем, по специфичности и изощренности синтаксиса не уступает data.table. Есть еще другие пакеты для визуализации, например, lattice — но я с ним не работал, мне вполне достаточно и ggplot2.

Психометрика

sem — моделирование структурными уравнениями, конфирматорный факторный анализ во всей красе. Естественно, может применяться не только для психометрических исследований, но я для меня это первоочередное применение.

ltm — IRT-модели Раша и Бирнбаума (кроме 4PL) для дихотомических ответов, сложные политомические модели. Есть демо-примеры.

Линейные модели

lme4 — линейные модели со случайными эффектами. К сожалению, простую линейную модель с фиксированными эффектами построить нельзя, для этого лучше использовать nle. Для получения p-values, если они зачем-то потребуются, к пакету lme4 следует добавить пакет lmerTest.

Кластерный анализ

cluster — аггломеративный и дивизивный кластерные анализы, k-средних и k-медиан, кластерный анализ по подвыборкам для больших датасетов.

Работа с распределениями

gamlss — пакет для аппроксимации теоретической функции эмпирического распределения, оценки параметров эмпирического распределения, генерации данных с определенными параметрами и формой распределения (для симуляционных Монте-Карло-экспериментов).

Анализ нормальности распределения

nortest — базовые критерии для проверки гипотезы об отличии распределения от нормального.

moments — моменты (асимметрия и эксцесс).

Оценка мощности

pwr — простейший пакет для оценки размера выборки при определенных значениях ошибки измерения I/II типа и предполагаемом размере эффекта. Фактически, по трем данным параметрам можно вычислить четвертый.

Интерфейсы доступа к SQL-базам данных

RODBC — простой коннектор к MS SQL базам.

RPostgreSQL — такой же простой коннектор к PostgreSQL базам, единственное, надо научиться использовать ‘' и «» одновременно при написании запроса к базе (т.к. в PostgreSQL таблицы задаются через имена схем и таблиц в виде schema."Table", и эти двойные кавычки вызывают проблемы в синтаксисе команды в R).

Доступ к другим сервисам

RCurl, ROAuth — пакетs, необходимыt для работы с ssl-сертификатами и верификации доступа к API.

twitteR — пакет для импорта данных из твиттера

rga — пакет для доступа к Google Analytics (находится не в CRAN, надо отдельно устанавливать из гит-репозитория).

Отчеты в TeX

knitr — пакет для создания гибридного скрипта, с использованием TeX и чанками с R-кодом.

Профилирование кода

rbenchmark, microbenchmark — оценка времени выполнения функций, сравнение функций по скорости (вплоть до оценки статистической значимости различий).

Прочее

scale — позволяет переходить от академической формы отображения чисел (3,6E +05) к классическим, и обратно.

stringr — работа с текстовыми данными.

boot — пакет для бутстрепов функций.

foreign — импорт данных других программ (SPSS, например).

_____________

Филипп Управителев