SAS or R:谁更适合你?(四)

2020-10-23 16:28:50 浏览数 (1)

在前面

上一期大猫从性能与并行计算讨论了SAS与R的区别。然而性能毕竟只是衡量一门语言的一个方面,而且对于初学者来说,面临的最大问题不是性能不够而是不知道应该从哪里开始学习。那么什么样的商业/社区支持才算是好的呢?小伙伴们继续往下看吧。

另外,大猫最近收到很多同学给公众号后台的留言,大猫也在考虑专门出一期FAQ来集中回答大家的问题,所以,如果大家有什么问题,可以给大猫留言哦。大猫最近在写毕业论文有点忙,但是尽量会抽空回复~

较:SAS与R的帮助文件

关注商业/社区支持的人要远远少于关注性能的人,但大猫觉得在选择一门语言中,商业/社区支持这一因素可能比该语言的性能更加重要!试想一下,如果没有APP Store,你会买iPhone吗?对于初学者来说,问的最多的问题就是“我该看什么书入门?”以及“有了问题我应该去问谁?”对于商业化的软件SAS来说,其帮助文档都是SAS Inc.一家写的,而R则依靠CRAN上的许多包作者共同提供帮助文档。从这一点来说,SAS的帮助文档的确要比R好,毕竟是商业软件,有大量manual甚至book可以参考,我估计SAS Inc.出版的关于SAS/STAT模块的书可能就近百本了吧,而且这些文档都是“well documented”,不仅格式优美,而且拥有大量的例子,大猫看SAS/help的时候简直是种享受。然而R就不一样了,虽然有CRAN,但是每个包的manual感觉都没“说透”,特别是最后的例子,槽点不能更多,和SAS比起来,简直称得上简陋。大猫第一次看R manual的感觉就像一个用惯了Visual Studio的程序员突然只能用写字板写程序,心中有万头神兽奔过,差点放弃继续学习R(还好后来找到了datacamp.com)。只有使用了一段时间R以后,对R拥有了更加深入的了解,才渐渐习惯了这种“简朴”的manual风格。

当然R的帮助文档远远不止包自带的help文件,R引以为傲的是自己庞大的社区。引用最广泛的TIOBE世界编程语言排行榜的三月榜单中,R排名第16,并且保持上升的趋势,而SAS排名为第21。

图:R在编程语言中的排名

里可以找到支持?

当你不知道要选哪个包时候,果断选vignette最多的以及托管在github上的

其实,大猫写这段的目的不是比较两种语言的support孰优孰劣,而是告诉大家在选择语言的时候,一定要选择well supported的。那么,什么样的语言算是well supported的呢?遇到问题,我们又可以去哪里找帮助呢?

1) 官方文档

常常见到很多初学者在论坛里求教:xx问题怎么办?在线等!这时老鸟一般都拽拽地给出一个关键词,然后说“自己去manual”里找。大猫只能说这是一个50%负责任的回答。说其负责任,因为的确所有问题都可以从manual里找到答案,而且manual里面讲的是最清楚的。说其不负责任,因为对于菜鸟而言,基本操作都还不会,怎么看得懂如此深奥晦涩的manual呢?在这里大猫的建议是:如果软件的文档写的非常好,比如SAS,那么多看看里面的example对于解决你的问题很有帮助,如果文档比较难懂,那我们还有其他方法——

2)Introduction/vignette/book/paper

对于绝大多数初学者而言,直接读manual肯定不是最佳选择。这时往往可以先找一些introduction或者某个模块/包的专题文章来读。一般这样的“甜点”文章都是为初学者写的,或者只讨论某一个很小的功能,读起来门槛不大,但是能让人快速对软件有个大致了解。对于SAS而言,除了help以及官方的入门书籍The Little SAS Book,还有各种官方白皮书,以及SUGI paper。SUGI paper是SAS使用者大会上的投稿的collection,里面往往介绍了一些非常实用的工具或者对于某些常见问题的处理方法,大猫非常多的SAS技巧是从里面学的。对于R而言,就是那些vignette了,一般使用广泛的R包都拥有不止一篇的vignette,甚至还拥有自己的网站。例如ggplot.org、igraph.org、github.com/Rdatatable/data.table等。所以当你不知道要选哪个包时候,果断选vignette最多的以及托管在github上的,这至少说明这个包还拥有旺盛的生命力,许多人在用他。

3) StackOverflow/Google/blog

StackOverflow(SO)“是个神奇的网站”。作为世界上最大的程序员问答网站,宅男们在论坛上彬彬有礼地发言却不是为了拿种子,而是为了解决bug!(笑)SO有着严格的发帖质量控制程序,上面的问题很多都是现实中经常碰到的问题,而且在上面提问的人非常有礼貌。因此大猫建议你有问题了先别谷歌,而是先在SO上找找看。往往SO上的回答比谷歌上面良莠不齐的回答要好得多。大猫现在不仅把SO当作一个解决问题的途径,还把他当成在线课堂,有事没事了就上去看看最近多了什么有意思的问题,顺便学几招。当SO也不能回答你的时候,你就只能依靠Bing/Google了,这时你的问题被回答的概率就靠你的搜索技巧了……

期预告

在下期中系列《SAS or R:谁更适合你?》会暂告一段落,大猫会继续向小伙伴们介绍data.table的使用技巧,不出意外的话应该是讲如何在data.table中进行分组回归,这是一个非常常用并且小伙伴们在公众号后台中多次提到的需求,敬请期待哦。

考文献

大猫在人大经济论坛上的原帖请见

http://bbs.pinggu.org/thread-3861040-1-1.html

0 人点赞