当前位置:  开发笔记 > 编程语言 > 正文

哪些编程语言有利于统计?

如何解决《哪些编程语言有利于统计?》经验,为你挑选了5个好方法。

我最近对某些事情做了一些统计分析,我很好奇是否有任何编程语言特别适合这个目的.我知道R,但我更喜欢一些更通用的东西(或者R是非常通用的?).

你们有什么建议?是否有任何语言的语法/语义特别针对这个?或者是否有任何语言具有非常好的库?



1> Dirk Eddelbu..:

没有竞争 - R作为S的主要实现(并且恰好是正确的开源和GNU项目).

不仅仅是为了这个目的而设计的S语言(请参阅John Chambers的书籍),但CRAN对特定领域软件包的相当丰富的支持是首屈一指的:超过2000个具有适当质量控制的软件包,通常由专家撰写场.

ACM 在1998年向John Chambers 颁发了ACM软件系统奖,其引用方式与此相同

John M. Chambers

对于S系统,它永远改变了人们分析,可视化和操纵数据的方式.

作为参考,该奖项的其他获奖者是TeX,Smalltalk,Postscript,RPC,"网络",Mosaic,Tcl/Tk,Java,Make,......这不是一个糟糕的公司.

现在,如果您"只想"收集和汇总一些数据,那么任何程序或功能语言都可以.但是如果你想要一些专为数据编程设计的东西,那么R就是主要的S实现.


你*可以*在R中做任何你想做的事,但你可能不想这样做.我的建议是学习R和其他一些与R配合使用的语言.如果你正在构建重型应用程序,可能是Java或Scala.如果您正在构建中型系统,这些系统主要是围绕R的包装器,可能是Python或Ruby.然后,当您需要复杂的数据和统计工作时,使用人们编写的各种库来使用您的其他语言调用R.
我完全理解R作为一种统计语言的力量.但是,除了统计信息(解析日志文件和访问sqlite数据库)之外,我还需要做一些事情.R可以做到吗?
对!例如,RSQLite包具有读/写SQLite文件所需的一切.此外,它使用DBI接口,因此您可以在不同的后端重用代码.至于解析,R包含几个正则表达式引擎,包括basic,extended和Perl ---请参阅help(regex)---所以它也很好.您可以通过Windows,OS X,Linux上的'Rscript'可执行文件以及OS X和Linux上的'r'("littler")将R用于脚本编写.[我共同编写/维护小型].

2> Shane..:

毫无疑问,R是统计学的最佳语言,正如Dirk所说.我只想补充几点:

首先,我认为你应该使用R的主要原因是因为社区.在这个阶段,学术界和工业界的专家大量使用它,没有其他语言可以与CRAN上的财富相媲美.

其次,应该承认R语言是一种乐趣.这是我的主要语言,并尝试过的选择,我没有马上放弃它的任何时间的打算.但它也没有垄断数据编程的优势,这种说法可能会走得太远.所有Lisp和Functional语言在数据编程方面都很强大.毕竟,Lisp源自"列表编程",而Lisp对R的影响使语言成为现实.

由于R语言中的一些深层设计问题,R社区的成员(例如Ross Ihaka)实际上将Lisp视为未来的统计语言(参见"回到未来"论文作为参考).例如,没有多线程).

因此,虽然R无疑是统计计算的最佳语言,但我认为熟悉另一种语言如OCaml,Haskell或(可能)Clojure/Incanter有一些价值.



3> Eduardo Leon..:

看看 基于clojure的Incanter."Incanter是一个基于Clojure的,类似R的统计计算和图形平台." Clojure是一种基于lisp的语言,在JVM的顶层实现.它可以轻松访问Java库.无法获得更多的通用目的.



4> Sharpie..:

根据我的经验,R这些领域是一种非常强大的语言:

    操纵和转换数据.

    统计分析.

    图形.

R绝不是一个三招小马.我还将语言应用于不完全适合上述类别的任务.一些例子是:

通过识别和匹配不同体系结构的静态和动态库,然后运行生成的组来帮助创建OSX通用二进制文件的脚本lipo.

用于从网页中抓取信息的脚本.

一组用于创建地理参考图像的脚本,使用图像将图像切割成tileset GDAL,形成JSON描述输出的清单并将结果上传到网站以供立即显示OpenLayers.

我最喜欢使用的部分R是我说的频率:

哇!有一个套餐可以做到吗?!



5> dalloliogm..:

您可以查看程序sage,它是python解释器的重新实现,允许您使用python语法为统计信息(R,matlab,octave等)调用不同的编程语言.

编写程序进行统计时遇到的一个主要问题是,您最终可能会遇到许多不同的小脚本,每个脚本都执行单独的任务,最终可能会出现混乱的文件夹并导致结果混乱.

因此,除了选择编程语言(我认为其他人已经回答了你的问题)之外,你还需要一种语法来定义脚本的管道:你可以使用程序'gnu/make'(例如读取这个)或者用这个圣人,还是有其他解决方案.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有