19 апреля 2011

О чем этот блог?



Начнем с того, что собой представляет R. Как сказано на сайте этого проекта, R - это язык программирования и одновременно полноценная программная среда для выполнения статистических вычислений и построения графических объектов. R является программным обеспечением с открытым исходным кодом и свободно распространяется по лицензии GNU.

По сути, R является бесплатной реализацией другого объектно-ориентированного языка программирования - S, который был разработан Джоном Чамберсом и коллегами в Bell Laboratories и распространяется на комерческой основе (подробнее об истории создания R можно почитать здесь). Между этими двумя языками существует ряд существенных различий, однако в большинстве случаев код, написанный на S, без изменений может быть успешно исполнен в среде R.

Сегодня R является безусловным лидером среди свободно распространяемых систем статистического анализа, о чем говорит, например, то факт, что в 2010 году система R стала победителем ежегодного конкурса открытых программных продуктов Bossie Awards в нескольких номинациях. R используют аналитики таких крупных компаний, как Google, Bank of America, Pfizer, Merck, Shell и др. (подробнее см. здесь). Ведущие университеты мира и исследовательские центры используют R для преподавания статистики и выполнения научных работ. Чем же так хороша эта система? Можно привести несколько преимуществ:
  • В отличие от коммерческих статистических программ, стоимость лицензии на которые может составлять несколько тысяч долларов, R распространяется совершенно бесплатно (для получения дистрибутива программы перейдите на сайт проекта R).
  • Язык R создан статистиками (Росс Ихака и Роберт Джентельмен, университет Окленда, Новая Зеландия), и поэтому обладает рядом очень удобных возможностей для выполнения статистического анализа.
  • Язык R предоставляет пользователю практически неограниченные возможности для визуализации данных (с примерами R-графики можно познакомиться здесь).
  • Энтузиастами со всего мира написано более 3000 дополнительных библиотек для R, которые существенно расширяют базовые возможности системы. Как и саму программу, эти библиотеки можно свободно скачать с сайта проекта R, или с сайтов авторов соответствующих библиотек. Очень сложно представить какой-либо класс статистических методов, которые еще не были бы реализованы сегодня в виде расширений для R.
  • Поскольку R является любимым языком профессиональных статистиков, все последние достижения статистической науки очень быстро становятся доступными для пользователей R во всем мире в виде дополнительных библиотек. Ни одна коммерческая система статистического анализа так быстро сегодня не развивается.
  • У R есть многочисленная армия пользователей, которые сообщают авторам дополнительных библиотек и самой системы R об обнаруженных ошибках. Все ошибки оперативно исправляются.
  • Весьма объемна документация по R. Кроме того, существует активно действующий международный форум пользователей R, где любой может попросить о помощи в возникшей проблеме.
Наряду с перечисленными преимуществами, у R есть, конечно, и недостатки:
  • В R используется интерфейс командной строки, что поначалу сильно обескураживает пользователей, привыкших нажимать кнопки в программах с графическим интерфейсом. Для R создано несколько графических интерфейсов, однако их функциональные возможности достаточно ограничены.
  • R - язык програмирования. Как и любой другой язык, его нужно учить. В случае с R скорость обучения поначалу бывает низка, однако со временем пользователь проникается "красотой" и эффективностью этого языка, и дела начинаютя идти быстрее.
  • Документация по R часто носит весьма технический характер, что не позволяет пользователю быстро получить ответ на интересующий вопрос. Это проблема отчасти сегодня решается существованием многочисленных форумов и блогов, где помощь можно получить очень быстро.
Главным недостатком для русскоязычных пользователей, безусловно, является то, что практически вся документация по R сегодня существует на английском языке. Это обстоятельство служит, как мне кажется, основной преградой в использовании R русскоязычными пользователями. Источники информации на русском языке крайне немногочисленны. Основные из них перечислены ниже (извините, если кого-то не упомянул!):
Я решил запустить этот блог, чтобы сделать свой посильный вклад в продвижение R среди русскоязычных пользователей. Здесь будут публиковаться примеры анализа и визуализации данных, а также переводы новостей об этой системе с других сайтов.
Добро пожаловать!