| ClipArtMag Science Blog |

Free Cliparts

Зачем использовать Язык R?

Перевод статьи - Why use the R Language?

Автор - Michael Elliott

Источник оригинальной статьи:

http://www.burns-stat.com/documents/tutorials/why-use-the-r-language/

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

Что такое R и S?

Раньше это называлось "Введение в Язык S". R является диалектом языка S, и стало — однозначно — доминирующий диалект.

S начался как исследовательский проект в Bell Labs несколько десятилетий назад, это язык, который был разработан для анализа данных, статистического моделирования, симулирования и графики. Однако это язык общего назначения с некоторыми мощными функциями - он может (и делает) использовать далеко от анализа данных.

Он должен использоваться для многих задач, для которых в настоящее время используются электронные таблицы. Если задача является нетривиальной, чтобы сделать в электронной таблице, то почти всегда это было бы более продуктивно (и безопасно) с R. “Электронная зависимость” говорит о проблемах с электронными таблицами и как R часто является лучшим инструментом.

Почему Язык R?

Важность быть языком

В этом контексте “пакет " имеет конкретное значение программного обеспечения, которое дает вам набор вариантов того, что делать. Это совсем не то же самое, что “пакет R”, который обсуждается позже.

Хотя различие между пакетом и языком является тонким, это тонкое различие оказывает огромное влияние. С помощью пакета вы можете выполнить определенное количество задач -часто с некоторыми вариантами, которые могут быть различными. Язык позволяет указать выполнение новых задач.

Ваша реторта может быть " Но я не хочу создавать новую форму регрессии." Да, R позволяет Вам создавать новые формы регрессии (и у многих людей), но R также позволяет Вам легко выполнять один и тот же тип стандартной регрессии для ваших 5 наборов данных (или, возможно, это 500 наборов данных).

Ключ - абстракция. Вы легко видите, что ваши 5 регрессий действительно то же самое — есть просто разные данные, связанные с каждым. В вашем разуме вы абстрагировали специфические задачи так, что они все посмотрят подобными. После того, как вы видите абстракцию, это просто чтобы научить R абстракции. Языки - это абстракция.

Как Мы Думаем

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

weight ~ height + girth

Не + как в дополнение, но + как в “и".

Еще одна особенность R заключается в том, что он ориентирован на вектор, что означает, что объекты обычно рассматриваются как единое целое, поскольку люди склонны думать о ситуации, а не как набор отдельных чисел. Предположим, что мы хотим изменить высоту с дюймов на сантиметры. В R команда может быть так:

height.cm <- 2.54 * height.inches

Вот height.inches - это объект, который содержит некоторое число — один или миллионы – по высоте. R скрывает от пользователя, что это серия умножений, но действует больше так, как мы думаем — все, что в дюймах, умножается на 2,54, чтобы получить сантиметры.

Опыт работы с C или Fortran иронически можете сделать это тяжелее, чтобы использовать R эффективно. Команда C-before-R имеет тенденцию переводить проблему в «программирование», а не думать о проблеме «естественным» способом.

Переходящий раздник

Гибкость и мощность изобилуют в R. Например, легко вызвать функциональность C и c++ от R. R не настаивает на том, что все сделано на своем языке, поэтому вы можете смешивать инструменты — выбирая лучший инструмент для каждой конкретной задачи.

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

Почему R для анализа данных?

R - это не единственный язык, который можно использовать для анализа данных. Почему R а не другой? Вот список:

Анализ данных по своей сути является интерактивным процессом - то, что вы видите на одном этапе, определяет, что вы хотите сделать дальше. Интерактивность важна. Язык важен. Вместе взятые - интерактивный язык - это даже больше, чем их сумма. Но есть обратная сторона: компромиссы между интерактивным использованием и использованием программирования являются причиной некоторых пользовательских травм.

R имеет фантастический механизм создания структур данных. Очевидно, что если вы проводите анализ данных, Вы хотите иметь возможность поместить свои данные в естественную форму. Вам не нужно деформировать свои данные в конкретную структуру, потому что это все, что доступно.

Графики должны быть центральными для анализа данных. Люди преимущественно визуальные, мы не интуитивно понимаем цифры, как мы делаем фотографии. Легко производить графики для изучения данных. Графики по умолчанию можно настроить для получения графиков качества публикации.

Реальные данные имеют пропущенные значения. Пропущенные значения являются неотъемлемой частью языка R. Многие функции имеют аргументы, которые определяют, как пропущенные значения должны обрабатываться.

Функции, такие как mean и median, являются объектами, которые можно использовать как данные. Вы можете легко изменить свой анализ, чтобы использовать медиану (или какую-то странную оценку, которую вы составляете на месте), а не среднее значение.

R имеет систему пакета которая делает его весьма легким для людей для добавления своей собственной функциональности, поэтому она неотличима от центральной части R.

Сообщество R является очень сильным и приверженным улучшению анализа данных.

Предпочтительная среда

Учитывая свои качества, R стал предпочтительной вычислительной средой для значительной части статистического сообщества. Когда изобретается новый статистический метод, скорее всего, он будет реализован первым в R.

В марте 1999 года Джон Чемберс — один из создателей в лаборатории Белла был представлен награда ACM Software System Award. Он заявил: " S навсегда изменил способ анализа, визуализации и манипулирования данными людьми". Предыдущие победители этой премии включают Unix, TeX и World-Wide Web. Джон теперь является членом R Core (группы, которая производит R).

Изучение R

"Нетерпеливый R" - это минимальный набор вещей, которые нужно узнать о R.

"Некоторые советы для начинающих R" предлагает дополнительные ресурсы для изучения R.