R和SPSS的区别

我将在短期内分析大量的networkingstream量相关数据,并对数据进行预处理以分析。 我发现R和SPSS是最stream行的统计分析工具。 我也会生成相当多的图表和图表。 因此,我想知道这两个软件的基本区别是什么。

我不是问哪一个更好,而只是想知道两者之间的工作stream程有什么不同(除了SPSS有一个GUI)。 无论如何,我将主要使用脚本,所以我想知道其他的区别。

我在一家使用SPSS进行大部分数据分析的公司工作,出于各种原因 – 我开始尝试使用R来进行越来越多的自己的分析。 我遇到的一些最大的差异包括:

  1. 表的输出 – SPSS具有基本的表,常规表,自定义表格等,这些表格都输出到那些漂亮的数据查看器或任何他们称之为的东西。 这些可以相对容易地运输到Word文档或Excel表格进行进一步的分析/演示。 R中的等价函数涉及学习LaTex或使用odfWeaveLyx或其他类似的东西。
  2. 数据标签 – > SPSS在variables标签和值标签上做的很好。 我还没有find一个强大的解决scheme来完成这个相同的任务。
  3. 您提到您将对您的大部分工作进行脚本撰写,并且我个人发现SPSS的脚本语法非常可怕,以至于我已经尽可能停止使用SPSS。 R语法看起来更加合乎逻辑,更紧密地遵循编程标准,而且如果遇到麻烦,就会有一个非常活跃的社区依靠。 我还没有find一个好的SPSS社区来问我什么时候遇到问题。

其他人则指出了这些计划在成本和function方面的一些重大差异。 如果您需要与其他人协作,那么使用SPSS或R的舒适度应该起到一定的作用,因为您不希望成为小组中唯一能够编写或编辑您未来编写的脚本的人。

如果你要学习R,这个在统计交换网站上的post有很多很好的学习R的资源: https : //stats.stackexchange.com/questions/138/resources-for-learning-r

以下是我在R-help邮件列表中发布的内容,但是我认为它对R和SPSS的一般差异给出了一个很好的概述:

当谈到计算机软件的用户友好性时,我喜欢汽车和公交车的类比:

大巴很容易使用,你只需要知道哪个巴士上车,在哪里下车,哪里下车(而且你需要支付车费)。 汽车另一方面需要更多的工作,你需要有一些types的地图或方向(即使地图在你的头上),你需要时不时的气,你需要知道的规则道路(有一些驾驶执照types)。 这辆车的最大优点是它可以带你一大堆巴士不去的地方,而且在一些需要在巴士之间转换的旅途中更快。

使用像SPSS这样的类比程序是公共汽车,很容易用于标准的事情,但是如果你想做一些还没有预编程的东西,那就很麻烦了。

R是一款四轮驱动的SUV(虽然环保),后面还有一辆自行车,皮艇在上面,在滑雪板上有很好的步行和跑步鞋,后面还有登山和探洞装备。

R可以带你到任何你想去的地方,如果你花时间去了解如何使用这些设备,那要花费更多的时间。

有R的graphics用户界面,使它更容易使用,但也限制了可以轻松使用的function。 SPSS确实有脚本,它不仅仅是公共汽车,而是SPSS的一般哲学引导人们走向GUI而不是脚本。

SPSS的初始工作stream程涉及certificate书写一个大的检查。 R是免费的。

R有一种“脚本”的单一语言,但不要这样想,R是一种真正的编程语言,具有很好的数据操作,统计和graphicsfunction。SPSS具有“语法”,“脚本”也可以在Python中编写脚本。

另一个重要的是SPSS将其数据压缩成电子表格结构。 处理其他数据结构可能是非常困难的,但是对于R来说是自然而然的。我不知道从哪里开始处理SPSS中的networking图types数据,但是有一个包可以处理R.

此外,通过使用Sweave,您还可以将工作stream程与报告进行整合 – 您可以编写一个embedded了R代码的文档,生成图表或表格,通过系统运行文件,并将报告以PDF格式显示出来。 当你想要做每周报告,或者做一些工作,然后老板给你一个更新的数据集。 重新运行,读完,完成。

但是你知道,你的电话…

那么,你是一个体面的程序员吗? 如果是的话,那么学习R是值得的。与SPSS相比,您可以在数据操作和统计build模方面做更多的工作,而且您的图表也可能会更好。 另一方面,如果你以前没有真正编程过程,或者发现花费数月时间成为程序员恐吓的想法,你可能会从SPSS中获得更多的价值。 你可以用R做的东西的水平,而不是作为一个完整的编程语言潜力的潜力可能不合理的努力。

还有另一个select – 合作。 你认识一个你可以和你的项目合作的人吗(你不会说是学术还是行业,但是无论哪种方式……),谁知道R很好?

这里有一些有关统计工具的有趣(合理公平的)比较

http://anyall.org/blog/2009/02/comparison-of-data-analysis-packages-r-matlab-scipy-excel-sas-spss-stata/

我没有数据,但从我的经验,我可以告诉你一件事:

SPSS比R慢很多 。 (有很多,我的意思是很多)

差别的大小可能与C ++和R之间的大小差不多 。

例如,我从来没有必要在R等几秒钟。使用SPSS和类似的数据,我花了超过10分钟的计算。

作为一个无关的方面说明:在我看来,在最近关于R的速度的讨论中,这个点被忽略了(即与SPSS的比较)。 而且,我惊讶于这个讨论如何popup一段时间,然后又悄然消失了。

上面有一些很好的回应,但我会尽力提供我的2美分。 我的部门完全依靠SPSS来进行工作,但近几个月来,我一直在努力学习R; 部分原因是上面列举的一些原因(速度,庞大的数据结构,可用的软件包等)

这就是说,这里有几件事我一路拾起:

  1. 除非你有一些编程经验,否则我认为在CTABLES中创build汇总表会破坏R中的所有可用选项。到目前为止,我还不知道可以复制使用定制表创build的程序包。

  2. SPSS在编写脚本时似乎速度较慢,是的,SPSS语法很糟糕。 也就是说,我发现SPSS中的scip可以总是得到改进,但是谨慎地使用EXECUTE命令。

  3. SPSS和R可以相互连接,虽然它似乎是一种方法(只有在SPSS内部使用R时,而不是相反)。 也就是说,我发现除了使用ggplot2或其他一些高级数据pipe理技术之外,这个function没什么用处。 (我鄙视SPSSmacros)。

  4. 我早就觉得在SPSS中创build的“报告”工作远不如其他解决scheme。 如上所述,如果您可以利用LaTex和Sweave,那么对于高效的工作stream程将非常满意。

  5. 我已经能够利用SPSS中的OMS进行一些高级分析。 几乎所有的东西都可以路由到一个新的数据集,但是我发现大多数SPSS用户都不使用这个function。 而且,当看R中的例子时,它比使用OMS感觉“更容易”。

简而言之,我发现自己在使用SPSS的时候,在R中不能很快地搞清楚,但是我真心的想在不远的将来从某种程度上完全脱离SPSS和使用R.

SPSS提供了一个GUI,可以轻松地整合现有的R程序或开发新的程序。 有关更多信息,请参阅IBM Developer Works上的SPSS社区 。

我在一家公司工作,可以说:

  • 如果你有一大群不同的人(不是所有的数据科学家),SPSS是有用的,因为它是明白的(相对)理解。 例如,如果用户要运行模型以获得输出(销售估计等),则SPSS清晰且易于使用。

也就是说,我发现几乎在所有其他的意义上R更好:

  • R更快(虽然有时会有争议)
  • 如前所述,SPSS中的语法是非常有用的(我不能强调这一点)。 另一方面,R可能是痛苦的学习,但有大量的资源在线,最后由于可以做不同的事情而付出更多。
  • 同其他人一样,天空是R的限制,包装,资源的重要性,更重要的是:独立地按你的意愿去做。 在我的组织中,我们有一些非常高级的function,可以完成很多工作。 困难的部分是创build一次,但他们执行复杂的任务,SPSS将缠绕在一个永无止境的canvasnetworking。 对于像循环这样的事情,这是特别真实的

它经常被忽略,但R还有很多团队之间的合作(github与RStudio集成,以及易于与devtoolsbuild立包)的function。

其实,如果你组织中的每个人都知道R,你只需要在github上维护一个基本的包来分享一切。 这当然不是常态,这就是为什么我认为SPSS虽然是最糟糕的产品仍然有市场。

@Henrik,我在SPSS上完成了你所提到的同样的任务( C ++和R )。 事实certificate,SPSS比R更快。 就我而言,SPSS是aprox。 快7倍 我对此感到惊讶。

这是我在SPSS中使用的代码。

 data list free /x (f8.3). begin data 1 end data. comp n = 1e6. comp t1 = $time. loop #rep = 1 to 10. comp x = 1. loop #i=1 to n. comp x = 1/(1+x). end loop. end loop. comp t2 = $time. comp elipsed = t2 - t1. form elipsed (f8.2). exe. 

看看这个video为什么很好地结合SPSS和R …

链接

http://bluemixanalytics.wordpress.com/2014/08/29/7-good-reasons-to-combine-ibm-spss-analytics-and-r/

如果已安装R的兼容副本,则可以从IBM SPSS Modeler连接到此副本,并使用可在IBM SPSS Modeler中部署的自定义Ralgorithm执行模型构build和模型评分。 您还必须安装IBM SPSS Modeler – Essentials for R的副本。 IBM SPSS Modeler – Essentials for R为您提供开始开发自定义R应用程序以用于IBM SPSS Modeler所需的工具。