J编程语言与R编程语言对比Incanter

Gok*_*mir 17 statistics programming-languages clojure

有没有人尝试过jsoftware和R语言的J编程语言.经过一番搜索,我遇到了基于clojure的incanter.我想学习数据分析的统计语言.你更倾向哪个?为什么?

请考虑以下条件,谢谢.

  • 生产率
  • 性能
  • 社区
  • 图书馆
  • 句法

小智 11

最近在J论坛上提出了类似的问题.这是我的答案:

我不知道R在哪里,我知道J,但鉴于这里的免责声明是我的印象:

Ĵ

  • 强烈的数学焦点
  • 使用数组数据的概念框架非常通用,一致且经过深思熟虑.
  • 代码简洁/简洁
  • 面向对象的范例可用但是可选的

[R

  • 强烈的统计重点
  • 面向对象的范式是普遍存在的
  • 成熟/强大的绘图和图形
  • 更大的用户群
  • 许多用户提供的包可用
  • 输入/操作数组的语法看起来很笨拙
  • 代码相对冗长
  • 更易于访问和广泛的文档

如果我的主要重点是统计,那么我认为R将是明显的选择.但是我发现J的数据处理功能既简单又强大.因此,我目前使用J来创建和操作数据,然后使用其Rserve接口根据需要从R访问功能/包.然而到目前为止,我的R用法一直很"淡".


小智 8

生产率

图书馆

生产力与给定任务的可访问库密切相关.如果这都是关于统计计算的话,由于其种类繁多的图书馆,R有一个明显的胜利.但是,当您必须操作/混合数据时,J可以更容易处理,并且随着您在J编程方面的熟练程度变得更加容易.

但是,您可以使用J中的R接口同时拥有这两个世界.

性能

R因其糟糕的表现而臭名昭着.但是,您不应该在J或R中过度使用for循环.J的表现不错.此外,J代码通常更简洁,因此更容易更改/重写/优化/提出新算法.我发现"想出一个新的算法"是一个巨大的胜利.

社区

与J相比,R的社区是巨大的.但是你有利有弊.想象一下生活在一个友好的小村庄和一个大城市的利弊.

句法

与R相比,J的语法令人惊讶地一致.一旦你学会了原理,可预测性就会很高.