Pull to refresh

Comments 22

Дело в том, что после ознакомления с языком R я крайне искоса смотрю на любые попытки, что-то посчитать в экселе.

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

Хотя в целом довольно интересно.
Но я все же использовал бы для парсинга сайта, очистки данных Python + Scrapy (или <имя_вашего_любимого_инструмента>), а R оставил бы для собственно анализа.
Полностью с Вами согласен, но именно в этом слове и скрывался подтекст;) Спасибо, что раскрыли:)
Но надо признать, что и с R я познакомился лишь неделю назад.

позвольте угадаю — курс на codeshcool?
И да и нет:) Заприметил еще записываясь на курсы на Coursera, а непосредственно поставил и попробовал именно после прохождения курсов на CodeSchool.
Прикольно, и синтаксис хорош, только "<-" вместо православного "=" удручает :)
"=" тоже разрешено, но не приветствуется: "<-" более информативна в смысле того, что сразу понятно, в какую сторону идёт присваивание. Кроме того, есть ещё и другая стрелочка — "->", которая инвертирует порядок присваивания:

x[1] -> y[1]

С «равно» такое, естественно, не прокатывет.
Еще одно очень большое преимущество R заключается в том, что используемый код, полученные графики, таблицы и т.д можно напрямую переводить в Latex c помощью расширения Sweave.
Да вы издеваетесь? Описали как с помощью R кравлить веб-странички, а как анализировать данные — нет. Нельзя так делать!

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

Ещё раз: лучший интерфейс для передачи данных в R это CSV файлы, созданные заранее (ну или реляционная БД). Не нужно самим R кравлить веб-странички, запускать сторонние программы и пр. Он для этого не предназначен!
Саму книжку то насоветуйте
Полноценной книжкой это вряд ли назовёшь, но для экспресс-курса / знакомства с возможностями достаточно:
An Introduction to R; W. N. Venables, D. M. Smith and the R Core Team

cran.r-project.org/manuals.html

В итоге помогли 2 вещи:
Первое (и самое, пожалуй, важное) — наличие подходящей задачи (обработка результатов бенчмарка).
Второе — осознание того, что его можно применять, хоть и с натяжкой, примерно так же, как SQL. Т.е. думаешь «а как бы я это на SQL сделал?» и пишешь потом это на R.
Почему обязательно издевается? Взгляните на это с другой стороны: про анализ данных на Хабре были статьи. А про то, что краулить можно прямо из R я, к примеру, узнал впервые из этой статьи. Спасибо автору.
Ну классно, давайте писать статьи «как написать интернет-магазин на С», «отказоустойчивый веб-сервер на BASH», «Приложения для iOS на матлаб», «Пишем 3D видеоигру на PHP»…
Предлагаю взглянуть с точки зрения управления, к примеру. Рассмотрим 2 полностью идентичных системы, решающих задачу из топика «распарсить и провести стат.анализ». Первая написана только на R, вторая использует Python для первой подзадачи и R — для второй. Мастер, создавший это, уволился. Для поддержания первой системы требуется найти человека, знающего только R. Для второй — нужно либо найти двух людей, знающих каждый по языку, либо искать сочетание знания именно этих языков в одном человеке. На мой взгляд решить задачу поддержки первой системы проще.

Похоже, для вас парсинг при помощи R выглядит, как приведенные выше преувеличения. Но представьте, что есть люди, которым это меньше напоминает забивание гвоздей микроскопом.
Расскажите, есть ли решительное преимущество R перед Matlab/Octave? (кроме бесплатности)
Для занятий статистикой и машинным обучением безусловно есть (нет наверное ни одного современного алгоритма в этой области не реализованного на R).
Во-первых, как сказал discobot, большой выбор библиотек. Во-вторых, R является объектным языком, так что зачастую удобно выводить данные, поскольку многие функции возвращают объект с возможностью представления результатов в удобном виде через plot или просто в консоль. В принципе, оба языка являются интерактивными, но R с этой точки зрения, как мне кажется, лучше развит.

С другой стороны, если нужно какие-то алгоритмы реализовывать, то Octave может быть удобнее, на мой взгляд.
Меня R удручает своим необычным синтаксисом, странными типами, плохими сообщениями об ошибках компиляции. Даже самые простые операции по преобразованию данных причиняют мне боль. Мой мозг отказывается воспринимать applyy sapply и прочие подобные функции. Очень не хватает LINQ из c#. Конечно, огромное количество пакетов это несомненный плюс, но вот сам язык… сделайте меня развидеть это.
Я когда-то написал Thunderplot, потому что задолбало запускать тяжеленный убогий Excel, муторно вычищать мусор из данных, или даже учить новый язык программирования, только ради того, чтобы быстренько глянуть на график из файла.

Кому интересно, могу выслать promotion code для Mac App Store (только для OS X, к сожалению), интересно послушать мнение хабраюзеров.
Sign up to leave a comment.

Articles