【学习感悟】文科生如何入门R语言

【学习感悟】 文科生如何入门R语言


作者 钱亦欣
随着大数据时代的来临,掌握R语言几乎成了各个学科和多个工作岗位的必备技能。然而,不少朋友由于之前学的是偏向人文社科的专业,之前连Excel都玩不顺手,更别提接触过编程语言了。面对市面上一堆R语言的书籍,可能有些不知所措,一看一些专业性比较强的书,就直接懵逼了。因此,我以本文来记录一下我将近1年半的R语言学习历程,希望能对有相似背景的朋友提供一些帮助。

个人背景

金融专业(没错,就是国内那种记记背背的“金融学”)。由于大四伊始就拿到了本校直研资格,并选定了导师和专业,因此整个大四就等于提前开始了研究生生涯。

学历历程

一开始,接触R语言我也懵逼,毕竟除了小学学过的VB和大二为了完成线代作业学了一点点的Matlab,我就一点编程基础都没有了。那时候百度了挺多资料,发现都比较零散不成系统。好在最后买了《R语言实战》,在这本书的帮助下才入了门。而后又陆续看了《R语言编程艺术》,《统计学习导论》等书,学习总算是越来越有感觉。后来由于本科毕业要做毕设,我做的又是相对繁琐的面板数据模型。我就利用这个机会,掌握了R语言的数据清洗、面板建模、模型结果可视化等技术。同时,我还给很多做毕设的同学提供了技术支持(没错,大部分是女生),顺带自己也学习了一下各种统计检验,简单的时序模型和广义线性模型等。既帮助了别人,又提高了自己,还认识了不少妹子。可谓一举多得,一石三鸟。

学习感悟

所以,个人心得方面,我觉得首先应该做到的一点就是坚持。我认识很多学管理学、社会学的同学,由于课程和论文的需要,都信誓旦旦的说要学R语言。可最后都坚持不到两个礼拜,定量研究要么草草了事要么找人代跑。如果我一开始也被看似复杂的代码块和字小厚实的教材吓到,可能我现在连R的门槛都没摸到,更别提自己写代码建模。
其次,我觉得每个人根据自己的需求来学习,有事半功倍的效果。在学习R语言之余,我在大四也先把部分研究生课程旁听了一遍。其中,多元统计分析和贝叶斯统计课后都会有大量的习题和案例需要程序实现。这使得我们R语言学习不再是漫无目的的游击战,而是需求明确的精准打击。在花了一个礼拜刷了《R语言实战》的前五章后,我认为我掌握了R基本的数据结构和一些比较常用的函数(这个时候我已经基本抛弃Excel了),然后我就根据每个礼拜的作业题开始跳跃性地学习了。这个过程很痛苦,但也很愉悦。我曾经为了写出一个简单的PCA程序熬到半夜(其中还自己根据格拉姆-施密特正交化方法写了一个向量正交的自定义函数),但程序成功运行后的成就感是无可比拟的。
第三,我觉得要多和一起学习的小伙伴讨论。我14年年底开始学习R的时候,不论老师学生,我们学校会R的人是极少数。我有问题也只能和一起学习的同门们讨论(那时还不知道StackOverflow),但我发现和小伙伴一起讨论,发现并解决问题远比大神的指导要有效。或许这就是自主学习和被动学习的差别,直接请教大神可能能节省很多时间精力,但你也因此损失了自己探索世界,解决问题的机会。如果你的课程、论文或者项目不是很赶,我强烈建议先自己思索,再请教别人。
总得说来,学习R和学习统计模型一样,并没有什么捷径,只能踏踏实实地一点点学习。买了书就老老实实地看,并且动手实现案例。遇到问题就仔仔细细地推敲研究。日积月累,才能有进步。

书籍推荐

最后来推荐一下我看过的一些R语言的书籍。

  • 1.《R语言实战》。作者是心理统计学家,整本书估计也是按照人的学习心理编排过的(我瞎猜的),所以非常通俗易懂深入浅出。加上作者的语言也生动(统计之都几位老师的翻译功不可没),读起来特别预约。全书前5章是基本操作,后面是一些具体建模方法。整体内容非常充实,包括了因子分析,主成分分析等多元统计方法,也有线性回归、广义线性模型等回归模型的详细介绍。在画图方面,作者更是根据不同图形特点,做出了详尽说明。而且这本书是图灵出的,装帧精美,纸质上乘,捧在手里感觉非常上档次,价钱也不贵。综上,这是我心中最好的R语言入门书籍,没有之一。
  • 2.《R语言编程艺术》。 这书的作者是程序员,因而整体风格和R语言实战不同,感觉作者并不特意强调R的统计建模优势,更多地把R作为一种编程语言来讲解,因而对于学统计的我而言帮助不是特别大,但程序员们可能更喜欢这样的风格。因此我不建议和我一样没有编程基础的同学直接用这本书入门,但我还是建议在学习了一段时间的R语言后好好看看这本书。这本书对于如何提升R代码的效率,降低算法复杂度等细节都做了讲解,而其中面向对象编程这一节内容是大部分R书没有的,值得好好看看。读完这本书后,能让我们写出更简洁漂亮,可读性更好,效率更高的R代码。对做大规模科学计算很有感帮助。
  • 3.《ggplot2:数据分析与图形艺术》。R语言界的男神——Hadley Wickham的力作。相信每个接触过R的可视化的朋友都会用到ggplot2包。这本书非常的薄,一礼拜就能看完,通读一遍后就能了解ggplot2包的大致功能,日后自己画图再把这本书当做工具书参考就可以。本书的译者也是统计之都的老师,所以不仅翻译的准确到位,对于书中一些过时的代码还做出了批注,确实是业界良心。
  • 4.《时间序列分析及应用:R语言》,《金融时间序列分析》这两本书是我的专业课的制定教材,两本都提供了R代码来实现时序模型。前一本书内容相对简单,只介绍了基本的模型,但给出了非常详尽的代码,从建模到诊断到结果可视化,有种手把手教你的感觉。我觉得作为本科生的教材非常合适。第二本书的内容比较前沿,而且加入了不少量化投资的内容进去,很符合现在的潮流。可是代码相对很少,不少代码过时了,有些还用的S-plus。并且,总得说来二者的翻译都不好,建议大家看原版。
  • 5.《Applied Econometrics with R》简称AER,是同名R包的一个200来页的小册子。这本书主要内容是如何用R实现常见的计量经济学模型。以截面模型和时序模型为主,篇幅限制不算特别详细,但对于做一些公司金融,管理学研究的同学来说是够用的了。其中还讲解了不同标准误的计算方法等内容,比较有特色。
  • 6.各类Packages的Vignettes。很多优秀的R包开发者都写了一些实用易读的小品文。有些文章不经介绍了包内的函数功能,对于模型也做出了非常不错了解释,而且往往是结合案例讲解。比如plm包的文档对于面板回归模型的讲解比很多计量经济学教材都要明白,看这些文章真的非常的棒!我读过且认为比较好的vignettes有:plm的,dplyr,plyr,tidyr(数据清洗神器,男神出品必属精品,连小品文都这么棒!),BLCOP的(Black-Litterman和COPULA模型的讲解,很精彩),Survival和np包的(对生存分析和非参数统计做了很好的入门介绍),psych包的(大部分多元统计模型都能在这个包里找到函数),等等。Vignettes可以在安装路径下的library文件夹里寻找,也可以打开RStudio点击包名,或用vignette函数产看。
  • 7.其他我读过但不是特别推荐,或者正在读的书有:《复杂数据统计方法——基于R的应用》,《Financial Risk Modelling and Portfolio Optimization with R》,《Machine Learning with R》,《Statistical Analysis of Financial Data in R》,《金融数据分析导论:基于R语言》,《Applied Bayesian Statistics, with R》,《Applied Multivariate Statistical Analysis 》,《Bayesian Essentials with R》,《Generalized Additive Models——an introduction with R》,《An Introduction to Statistical Learning with Application in R》,《Quantitative Trading with R》。
发布了2 篇原创文章 · 获赞 12 · 访问量 6万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览