J программирование Язык vs R Язык программирования vs Incanter
Кто-нибудь пробовал обе J язык программирования jsoftware и R. После некоторого поиска я столкнулся с incanter, который основан на clojure. Я хочу изучить статистический язык для анализа данных. Какой из них вы предпочитаете? Зачем?
Пожалуйста, рассмотрите условия ниже, спасибо.
- Производительность
- производительности
- сообщества
- библиотека
- Синтаксис
Ответы
Ответ 1
Производительность
Библиотека
Производительность сильно связана с доступными библиотеками для данной задачи. Если все о статистическом расчете, R имеет очевидную победу благодаря огромному разнообразию библиотек. Однако, когда вам приходится манипулировать/смешивать данные, J может быть проще в обращении, и это станет намного проще, поскольку вы получите больше навыков программирования J.
Однако вы можете использовать оба мира с помощью R-интерфейсов в J.
производительности
R является пресловутым для его плохой работы. Однако вы не должны чрезмерно использовать for-loops в J или R. У меня была достойная работа. Более того, J-код, как правило, является термином и, следовательно, проще изменить/переписать/оптимизировать/разработать новый алгоритм. Я нахожу "придумывание нового алгоритма" большой победой.
сообщества
Сообщество R огромно по сравнению с J. Однако у вас есть плюсы и минусы. Представьте себе плюсы и минусы, живущие в небольшой, дружественной деревне и в большом городе.
синтаксис
Синтаксис J на удивление непротиворечиво по сравнению с R. Предсказуемость очень высока, как только вы узнали принципы.
Ответ 2
Вопрос, подобный этому, был задан недавно на форуме J. Это был мой ответ:
Я не знаю R нигде, а также знаю J, но, учитывая этот отказ от ответственности, вот мои впечатления:
J
- сильный математический фокус
- концептуальная структура для работы с данными массива является очень общей, последовательной и продуманной.
- код является кратким/кратким
- доступная объектно-ориентированная парадигма, но необязательная
R
- сильный статистический фокус
- объектно-ориентированная парадигма широко распространена
- зрелые/мощные графики и графика
- большая пользовательская база
- доступно множество доступных для пользователя пакетов
- Синтаксис ввода/манипуляции с массивами кажется неуклюжим.
- код относительно подробный
- более доступная и обширная документация
Если бы мой основной фокус был статистическим, я думаю, что R будет очевидным выбором.
Однако я считаю, что функции обработки данных J являются как более простыми, так и более мощными.
Таким образом, мое текущее решение my-cake-and-eat-it-too - использовать J для создания и обработки данных, а затем использовать его интерфейс Rserve для доступа к функциям/пакетам из R по мере необходимости. Однако до сих пор мое использование R было "легким".
Ответ 3
Несколько комментариев по J, которые не были упомянуты выше re: loop.
Большой фокус в J - это определение операций, которые применяются ко всему массиву за один раз. Эти операции, как правило, намного быстрее, чем циклы из-за возможных закулисных оптимизаций.
Пока вы можете делать циклы в J, часто вы можете полностью их избежать. Итак, если вы можете изменить подход к решению проблем, вы, как правило, намного быстрее. Этот сдвиг может занять несколько месяцев. Это не так сложно достичь.