2013-04-14 5 views
0

Недавно я получил некоторое время, чтобы изучить визуализацию данных, как своего рода замену диаграммы Excel. Мой выбор R (с ggplot2) и начал его изучать.Язык программирования для обработки больших данных для R

В «R в двух словах», Джозеф Адлер положил, что:

Как правило, я использую инструмент, как Perl для предварительной обработки больших файлов перед их использованием в R.

Я предлагаю используя язык сценариев, такой как Perl, Python или Ruby, до препроцессор больших, сложных текстовых файлов и превратить их в удобоваримую форму . (В качестве примечания, я обычно выписываю списки имен полей и длины в Excel, а затем использовать формулы Excel для создания R или Perl кода, чтобы загрузить их.

Идея лежит за это философия Unix . --let каждый инструмент делать свою работу хорошо, и пусть они работают вместе Таким образом, в конечном счете, я планирую учиться:

  • R для visulization и
  • другого языка программирования для данных обработки данных в будущее.

Вопрос возникает, какой язык изучать?

У меня нет фона для компьютерных наук, между тем Perl слишком сложно для меня. Я сделал поиск в Интернете, обнаружил, что Haskell и Clojure довольно интересны. Поскольку здесь есть много программистов + статистиков, я хотел бы знать, какой из них служит большой целью обработки данных, хорошо сочетается с R?

Ник

+1

с отсутствующим фоном haskell CS/закрытие будет diffuclt для освоения. Я рекомендую python. – Nishanth

+1

На самом деле это не место для такого рода вопросов, так как оно немного открыто. Пожалуйста, прочитайте [** эту часть FAQ **] (http://stackoverflow.com/faq#dontask). Вы могли бы попросить об этом в [чате вместо?] (Http://chat.stackoverflow.com/rooms/25312/r-public) –

+1

@ e4e5f4 Идея о том, что Clojure трудно освоить без CS-фона, является странной , Я не вижу каких-либо очевидных препятствий, не присутствующих на Python, если вы не считаете, что у не-программистов есть более легкое время с двоеточиями и правильными правилами отступов, чем с круглыми скобками. – Chuck

ответ

6

Мне не очень нравится иметь слишком много инструментов в рабочем процессе. Если мне удастся просто использовать R, я предпочитаю это. Вам либо придется вручную запустить несколько инструментов в серии, что заставляет работать больше работать. Или вы тратите время на взаимодействие с различными инструментами, что требует времени и создает свой собственный набор проблем.

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

Я использую несколько языков программирования рядом друг с другом (R, Python, IDL, Fortran), но для обработки данных я, как правило, хочу придерживаться чистого R, если я могу ему помочь.

+0

Спасибо, Пол Хеймстра! Ваше мнение действительно имеет смысл, и оно меня очень успокоило - я спас меня от обучения R, в то же время беспокоясь о чем-то другом. – Nick

+0

Действительно, если работу можно сделать только в R, зачем беспокоиться о чем-нибудь еще? Интерфейс может нести стоимость с точки зрения ошибок, сложности обслуживания (например, скрытых изменений в работе после обновления) и т. Д. R предлагает множество хороших опций для быстрой обработки данных, как только вы познакомитесь с векторизованными операциями и научитесь не использовать циклы. Пакет 'data.table' стоит посмотреть. Если вам абсолютно необходимо использовать второй язык, пойдите с Python. Эта книга - хорошее место для начала: http://shop.oreilly.com/product/0636920023784.do –

+0

Лично я использую Python для управления рабочим процессом (запуск компьютерных моделей (fortran), редактирование файлов параметров и т. Д.)). –

0

Я бы с питоном, в основном потому, что:

  1. легче читать/понимать
  2. R-python bridge позволяет интегрировать эти два языка очень легко.
1

Мой личный инструмент выбора в этом пространстве - Incanter.

Он сочетает в себе:

  • функции статистических/визуализаций вдохновленной R
  • Использование Clojure как язык программирования общего назначения
  • Работает на JVM и может получить доступ ко всем библиотекам Java: большой бонус, если вы хотите интегрироваться с другими системами или использовать непосредственно в производстве.

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

Смежные вопросы