Содержание материала
Проект R для статистических расчетов
Открытое программное обеспечение пришло в мир передовой аналитики в виде «Проекта R для статистических расчетов», известного также как просто R. R — это бесплатно распространяемый аналитический пакет с открытым исходным кодом, который напрямую конкурирует с коммерческими аналитическими инструментами, а также дополняет их. R — потомок S, одного из первых языков для статистического анализа, разработанного десятки лет назад. Свое название проект R, видимо, получил благодаря тому, что представлял собой обновление S, а также тому, что с буквы R начинаются имена его создателей (Роберт Джентлмен и Росс Айхэка).
Проект R быстро завоевал популярность и в настоящее время используется многочисленными профессиональными аналитиками. Это особенно верно в академической и исследовательской среде. Что касается корпоративной среды, то при наличии большой команды аналитиков по крайней мере некоторые из них так или иначе используют язык R.
Коммерческие инструменты по-прежнему доминируют, однако влияние R постепенно растет. Хотя количество его пользователей быстро увеличивается, на сегодняшний день он еще не так прочно прижился на крупных предприятиях, как в научных кругах. Язык R, как правило, используется для исследований и разработок, а не в крупномасштабных, критически важных для производства аналитических процессах. Со временем это может измениться, однако на момент написания данной книги дела обстоят именно так.
Язык R имеет широкий спектр возможностей. Он в большей степени объектно-ориентированный, чем многие другие наборы аналитических инструментов. Может быть связан с такими распространенными платформами программирования, как C++ и Java, что позволяет внедрять R-код в приложения. На самом деле коммерческие аналитические пакеты даже позволяют выполнять код, написанный на языке R, в рамках своих наборов инструментов. Это очень полезная функция. Более подробное описание этой темы выходит за рамки данной книги.
Возможно, самое большое преимущество языка R состоит в том, что при появлении нового метода моделирования или анализа кто-нибудь реализует его на этом языке. Функциональность R обновляется гораздо быстрее, чем функциональность коммерческих инструментов, и, если задуматься, так и должно быть. Поставщик коммерческого инструмента не будет спешить с интеграцией нового алгоритма, пока не убедится в том, что на его использование есть спрос. Убедившись в этом, поставщик добавляет этот алгоритм в свой график выхода, создает код и включает его в новую версию инструмента. На это могут уйти годы. В случае с R код алгоритма создается сразу, как только несколько человек сочтут его полезным.
То, что R распространяется бесплатно, для многих является несомненным преимуществом. Однако, как и в случае с любым другим проектом с открытым исходным кодом, существуют компании, которые предлагают собственные платные расширения и/или сервисы. Эти компании могут помочь вам с применением R, с разработкой процессов на языке R, а в некоторых случаях — предоставить вам расширения, улучшающие функциональность базового пакета. Недостаток бесплатного программного обеспечения — отсутствие поддержки. Вам приходится более или менее самостоятельно искать ответы на вопросы. Несмотря на существование многочисленного сообщества, нет ни одного конкретного ответственного человека или команды, к которым вы могли бы обратиться.
Вы используете R?
R — быстро развивающийся набор аналитических инструментов с открытым исходным кодом. За последние годы он сильно эволюционировал и получил широкое распространение. R имеет свои преимущества и недостатки и не подходит для каждой организации или каждой задачи. Однако в вашей организации он может сыграть определенную роль.
Один из главных недостатков языка R заключается в том, что программирование с его помощью — достаточно интенсивный процесс. Несмотря на существование графических интерфейсов, созданных на основе языка R, многие пользователи сегодня по-прежнему предпочитают писать код. Кроме того, R-интерфейсы гораздо менее развиты, чем аналогичные интерфейсы для коммерческих инструментов. Разумеется, со временем это может измениться.
Возможно, самым большим недостатком языка R является его плохая масштабируемость. В последнее время были сделаны некоторые улучшения, однако уровень масштабируемости R не соответствует уровню других коммерческих инструментов и баз данных. Компилятор R обрабатывает данные в оперативной памяти. Это означает, что он может работать только с наборами данных, размер которых соответствует объему доступной памяти компьютера. Даже у очень дорогого компьютера объем памяти гораздо меньше, чем требуется для работы с наборами данных предприятия, не говоря уже о больших данных. Если крупная организация хочет укротить большие данные, то R может стать частью решения, но не единственной, по крайней мере на сегодняшний день.
Все большее число инструментов, включая коммерческие аналитические пакеты, позволяют применять язык R. Станет ли он лидером, как Apache или Linux? Останется ли нишевым продуктом, как офисные пакеты с открытым исходным кодом? Только время покажет, какую роль будет играть R в сфере углубленной аналитики.