当我教研究生水平的统计时,我告诉我的学生:“我不在乎您使用什么软件包,您可以在家庭作业中使用任何软件包,因为我希望您能提供实质性的解释,如果我愿意的话,将会有所作为。看到 tr23y5m
提交中的变量名。我可以很好地支持您在Stata中的学习,也可以在R中很好地支持您的学习。有了SAS,您就可以依靠自己,因为您声称自己已经参加了其中的课程。使用SPSS或Minitab,上帝保佑您。“我想,合理的雇主也会这么想。重要的是,根据项目成果,您的生产率。如果您可以在40小时的工作中达到R的目标,那就好了;如果您可以在40个小时的工作中用C ++做到这一点,很好;如果您知道如何在40个小时内用R做到这一点,但是您的主管希望您在SAS中做到这一点,那么您就不得不花费60个小时来学习一些基础知识以及分号所处的位置,那只能是在SAS中其余代码的大背景下才是明智的……然后,经理聘用R程序员并不是很明智。
从总成本的角度来看,“免费” R是一个夸大其词的神话。任何严肃的项目都需要自定义代码,即使仅用于数据输入和格式化输出,这也不是零的专业时间成本。如果此数据输入和格式化需要10个小时的SAS代码和20小时的R代码里面,R是一种更昂贵的软件在边际,作为一个经济学家会说,即,在附加成本方面产生给定片的功能。如果大型项目需要200个小时的R程序员时间和100个小时的Stata程序员时间来提供相同的功能,那么Stata 总体上会更便宜,甚至说明您需要购买的约$ 1K许可。看到这样的直接比较会很有趣;我参与了重写大量2Mb SPSS代码的工作,据说这些代码已经在大约10个人年内积累到大约150K的Stata代码中,并且运行速度差不多,可能会快一点。那是一个大约一年人的项目。我不知道这种10:1的效率比是否在SPSS:Stata比较中很典型,但是如果是这样,我不会感到惊讶。对我来说,由于搜索成本,使用R总是很昂贵的:我必须确定五个名称相似的软件包中的哪个做我需要做的事,并确定它是否足够可靠地被我使用。我的工作。这通常意味着对我来说,用更少的时间编写自己的Stata代码会比较便宜,因为我会花时间弄清楚如何使R在给定任务中工作。应该理解,这是我个人的特质;这个网站上的大多数人都比我更好用。
有趣的是,您的教授更喜欢Stata或GAUSS,而不是R,因为“ R不是经济学家写的”。Stata或GAUSS都不是;它们是由计算机科学家使用计算机科学家的工具编写的。如果您的教授从CodeAcademy.com上获得了有关编程的想法,那总比没有好,但是专业级软件开发与在CodeAcademy.com文本框中键入内容一样,因为驾驶货运卡车与骑自行车不同。(Stata最初是由一名劳动计量经济学家转换为计算机科学家,但是到目前为止,他已经从事这项劳动计量经济学工作已有25年之久了。)
更新:正如AndyW在下面评论的那样,您可以使用任何语言编写可怕的代码。成本问题就变成了哪种语言更容易调试。对我来说,这看起来像是输出的准确性和信息量以及语法本身的简单性和透明性的结合,当然,我对此没有很好的答案。例如,Python强制执行代码缩进,这是一个好主意。可以将Stata和R代码折叠在方括号中,而SAS无法使用。子例程的使用是一把两刃剑:在R中使用*apply()
with ad-hoc function
显然非常有效,但更难调试。同样,Stata local
可以屏蔽几乎所有内容,并且默认为空字符串虽然有用,但也可能导致难以捕获的错误。