我最近对一些事情进行了更多的统计分析,我很好奇是否有任何编程语言特别适合此目的。我知道R,但我更喜欢更通用的东西(或者 R 非常通用?)。
各位有什么建议?是否有任何语言的语法/语义特别面向此?或者是否有任何语言具有非常好的库?
我最近对一些事情进行了更多的统计分析,我很好奇是否有任何编程语言特别适合此目的。我知道R,但我更喜欢更通用的东西(或者 R 非常通用?)。
各位有什么建议?是否有任何语言的语法/语义特别面向此?或者是否有任何语言具有非常好的库?
无可争辩——R作为S 的主要实现(而且恰好是适当的开源和 GNU 项目)。
不仅因为 S 语言专门为此目的而设计(参见 John Chambers 的书籍),而且CRAN对特定领域包的相当丰富的支持是首屈一指的:超过 2000 个具有适当质量控制的包,通常由场。
ACM在 1998 年将ACM 软件系统奖授予约翰·钱伯斯(John Chambers)时也有同样的看法,引用如下
约翰·M·钱伯斯
对于 S 系统,它永远改变了人们分析、可视化和操作数据的方式。
作为参考,该奖项的其他获奖者是 TeX、Smalltalk、Postscript、RPC、'the web'、Mosaic、Tcl/Tk、Java、Make,...... 不错的公司。
现在,如果您“只想”收集和总结一些数据,那么任何程序或功能语言都可以。但是,如果您想要一些专为数据编程而设计的东西,那么 R 作为主要的 S 实现就是它。
毫无疑问,正如 Dirk 所说, R是最好的统计语言。我只想补充几点:
首先,我认为您应该使用 R 的主要原因是社区。在这个阶段,学术界和工业界的专家如此大量地使用它,以至于没有其他语言可以与 CRAN 的财富相媲美。
其次,应该承认,使用 R 语言是一种乐趣。它是我的主要语言,在尝试过替代语言后,我无意很快放弃它。但它也没有垄断它在数据编程方面的实力,而且这种说法可能太过分了。所有的 Lisp 和函数式语言都擅长数据编程。毕竟,Lisp 源自“列表编程”,正是 Lisp 对 R 的影响使该语言成为现在的样子。
由于 R 语言中的一些深层设计问题,R 社区的一些成员(例如 Ross Ihaka)实际上将 Lisp 视为未来的统计语言(请参阅“回到未来”论文以获取参考)(例如,没有多线程)。
因此,尽管 R 无疑是统计计算的最佳语言,但我认为熟悉 OCaml、Haskell 或(可能)Clojure/Incanter 等另一种语言具有一定的价值。
根据我的经验,R
在这些领域是一种非常强大的语言:
数据的处理和转换。
统计分析。
图形。
但R
绝不是三招小马。我还将该语言应用于不完全属于上述类别的任务。一些例子是:
一个脚本,通过识别和匹配不同架构的静态和动态库,然后通过lipo
.
从网页中抓取信息的脚本。
一组脚本,用于创建地理参考图像,使用 将图像切割成图块集GDAL
,形成JSON
描述输出的清单并将结果上传到网站以供OpenLayers
.
我最喜欢使用的部分R
是我说的频率:
哇!有一个包可以做到这一点?!
我会说 R,因为我大学的大多数统计课程都使用 R,而我大多数参加过此类课程的朋友都对它的范围和范围非常满意。
我什至尝试过 MATLAB,发现它非常方便。
干杯
如果您所做的只是统计数据,R就很棒。它有一个很好的交互式界面和可视化工具。但是,它很难用作通用语言,因为它的语法和语义针对统计数据进行了高度优化。如果您想要一种更通用的语言,带有 SciPy 的 Python 将是一个不错的选择,尽管我使用过它并且发现其中的统计例程有些不成熟。在极端情况下,它们通常效率低下或失败。
如果您正在对大型数据集进行数据挖掘,使性能很重要,和/或您不介意使用 alpha-ish 工具,那么 D 编程语言和dstats 库可能会非常好。D 是一种通用语言,但恕我直言,dstats 非常易于使用,因为模板元编程使得即使在静态编译、接近金属的语言中也可以轻松设计出漂亮的 API。(完全披露:我写了大部分 dstats,所以我当然认为这很好。)
pystats库(用于 Python)非常适合统计分析。
您是否考虑过使用像MatLab这样的东西?它具有许多执行数据分析的高级功能,您可以在环境中进行一些编程。
斯塔塔呢?我有一个朋友是经济学博士生,他一直对 Stata 赞不绝口。我个人对Mathematica有浓厚的兴趣。
我的一个专注于市场统计的朋友使用SAS。我对此了解不多——它看起来不像是一种“真正的”语言,但可能值得一试。
我完全支持带有 R 绑定的 Python。
我也想为 R +1。它可能不像 STATA 甚至 SPSS 那样容易处理,特别是对于非程序员。虽然我猜一般的 stackoverflower 比我更像一个程序员。
话虽如此,我想给出一个简短的概述,因为我已经看到了一些来自用户(经济学家(观点)的统计数据包。
STATA 仍然是大多数经济学家的选择,而且确实有一些优点。STATAs GUI 有助于管理大量选项和统计功能。此外,STATA 似乎是唯一一个具有至少有点接近基准的邮件列表的包:独一无二的 R 邮件列表。仍然可以编写复杂的 .do 文件或从网上下载一些文件。STATA 可能不像 R 那样接近编程语言,但仍然为统计目的提供了一种很好的编程语言。根据数据集的大小,您应该检查所需的许可证。
您还可以使用 SPSS,它比 STATA 更像是一种 GUI 工具,但对于诸如 TOBIT 模型或面板回归等计量经济学工作的综合性稍差,尤其是离散选择模型。
还有 Eviews - 不幸的是,我已经忘记了大部分内容,并且只在我的研究中将它用于几个简单的回归。因此,我只是在这里命名。GAUSS 也是如此,它看起来比其他包更具数学性。最近我听说了 Octave,它也更加数学化。
对于我个人的使用,R 比其他任何东西都重要。有时我会在 Python 中配对它,或者将它连接到 MySQL 或 PostgreSQL 数据库,它们也能很好地工作。R 确实可以帮助您学习统计数据,因为您需要了解更多才能做某事,而不是点击 SPSS 之类的东西。虽然如果您需要 GUI,您可以尝试 RKward 或考虑在 Windows 上安装 Komodo / Sciviews-R 或 Tinn-R。后者不是 GUI,而是或多或少支持代码突出显示和代码建议的编辑器,这也有助于完成它。R 中的 Farnsworth Econometrics 是一本不错的读物。啊,我不能忘记提到阴谋。Hadley Wickham 的 ggplot2 包刚刚摆脱困境。只要您不需要它们进行交互,这是创建图形的最佳方式。
APL显然是用于统计工作的最佳语言之一。虽然它不是通用的......
它确实需要特殊的键盘和字体,因为它不使用 ascii。
请参阅Conway 在 APL 的一行中的生命游戏,了解可以用它做什么的概述。
因为我是统计学的学生。我发现 R 在所有其他统计相关软件中是最好的。也许它有能力对统计数据做任何事情。