R

Инструменты

Что такое R

RlogoR – это мощный статистический инструмент для работы с данными. С одной стороны, это программа, которая позволяет производить различные операции в командной строке с помощью большого количества встроенных функций. Также существует огромное собрание дополнительного инструментария на сайте самого R (CRAN), где можно найти специализированные пакеты для разного типа работы с данными на самые разные случаи жизни. Так как эти дополнительные пакеты создают сами пользователи, число готовых инструментов постоянно растет. А так как это официальный сайт, в его библиотеку попадают только те пакеты, которые соответствуют её стандартам, иными словами они все функциональны и обладают своего рода гарантией качества. В принципе есть библиотеки и помимо CRAN, и там тоже можно найти много полезного, однако уже без гарантий, то есть на свой страх и риск.

С другой стороны, R – это язык программирования, на котором, в частности, написаны все имеющиеся инструменты – встроенные или достраиваемые. Иными словами, если пользователю понадобилось провести какую-нибудь специфическую операцию, то он может самостоятельно, не отрываясь от процесса, написать код, который позволит ему это сделать. И впоследствии даже поделиться им с остальным человечеством.

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

basic_plots

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

homicides -data

… извлекать из них то, что нужно, обрабатывать это и визуализировать в той же среде.

Ограничения

Главный недостаток R в том, что он может обрабатывать только данные, находящиеся на жесткий диск компьютера. Более того, в идеале объем оперативной памяти должен примерно вдвое превышать объем загруженных в R данных – иначе он будет сильно тормозить. Для приблизительных подсчетов: таблица в 1 500 000 строк и 120 колонок, при условии, что она содержит значения в числовом формате, весит около 1.30 ГБ.

Конечно, возможности компьютеров увеличиваются, но и данных становится всё больше. Поэтому для работы с большими данными (aka big data) всё чаще применяются инструменты, которые могут обрабатывать данные, находящихся в облачных хранилищах, без скачивания на компьютер.

Тем не менее, R вполне можно использовать для работы с массивами данных небольшого и среднего размера. Что касается обработки больших данных, то в ряде случаев любители R в порядке компромисса загружают данные на компьютер частично и работают с выборками.

Как изучать R

Гибридность

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

Такой непрерывный континуум от пользователя до программиста был одним из принципов, которым руководствовался его создатель статистик Джон Чемберс (John Chambers).

R и статистика

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

Чему надо научиться в первую очередь

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

Вот так выглядит среда, в которой работают с R:

R_ide60

Или так:

RStudio60

В первом случае это оболочка, которая идет в комплекте с R при скачивании. При всей своей минималистичности она вполне функциональна. Во втором случае это R Studio, которая включает в себя множество дополнительных (по отношению к первой) возможностей.

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

Tagged