聊聊我的R语言学习路径和感受

2017 年 11 月 30 日 数萃大数据 刘顺祥

本文转载自微信公众号“每天进步一点点2015”。


第一次接触R语言是我读研的时候,算到现在有5年多了。R语言可以算得上是我进入编程世界的启蒙语言,尽管在大学期间为了考试而被迫学习过计算机二级,但那真心是没有一丁点的兴趣可言。进入R的世界后,真的越来越喜欢,可以帮助我解决学术研究过程中的很多探索,最起码读研期间的所有小论文和毕业论文的案例分析都是通过R语言完成的。工作后,数据分析、可视化和数据挖掘的落地更是通过R语言帮我实现的,她对我的学习和工作起到了很大的帮助

2015年2月份毕业开始了一份正式的工作,半年多后突然产生一个想法,就是把自己在工作中的所学所用通过公众微信号(lsxxx2011)记录下来,并给自己的公众号起名“每天进步一点点2015”。到今天已维护了近2年半的时间,积累了近160篇文章,也结识了很多对数据分析、挖掘感兴趣的朋友。曾经有好多朋友都向我问起过一个类似的问题:“我是***,对数据分析很感兴趣,但目前是R语言的小白,也自学了一段时间,但总感觉使不上力,有没有比较好的学习方法?”就抽空来讲一讲我学习R语言的过程,希望对处于迷茫或困惑的朋友起到一点帮助。接下来,我就从以下几个方面来讲讲我学习R语言的经历:

 

基础篇

       我接触R语言的第一本书是薛毅老师的《统计建模与R软件》,这本书个人感觉非常棒,至少有这三方面的优点首先,该书将统计学里面的基础知识和理论都作了比较详细的剖析;其次,也详细介绍了R软件本身的基础知识,如语法、数据结构、数据读取、控制流等;最后但也是最重要的,运用R软件(很多情况都不是直接调包)将统计学模型的原理作了相应的代码实现,包括统计检验、线性回归、方差分析等。这本书我看了至少2遍,但对于R语言的初学者并不建议将这本书当作学习的第一本书

       《R语言实战》,这是一本非常好的初学R语言的资料,而且该书在今年也更新到了中文版的第二版。之所以首推这本书作为初学教程,是因为这本书偏实战,而非理论,你可以通过这本书提高R软件的使用技能,该书包括R软件编程基础、可视化作图和统计建模等内容。这本书我至少也看了2遍,书中包含了各式各样的R软件包和函数的使用,要想记住这些内容还不得不多敲代码。

       《R语言数据操作》,是一本页数非常少的书籍,但都是精华。书中没有任何关于统计学相关的内容,都是在讨论数据集的管理,如缺失值处理、数据读取、日期数据的处理、正则表达式、数据汇总等。通过阅读和学习这本书,相信在数据预处理这块会对你有很大的提升,我曾经针对这本书的每一章内容作了整理,并分享到公众号中,对我本身而言,也是一个提升的过程。

       当然,网上也有很多其他初学者资料,如《153分钟学会R》、《R语言经典入门_2012》、《R语言初学者指南》、《RCookbook》等。

 

可视化篇

       在学习R软件的同时,你肯定会碰到关于使用R软件来完成数据的可视化操作,确实,R软件也是一款非常棒的可视化工具,包含了各种各样的可视化包,如graphics、lattice、plotrix、plotly、ggplot2等等。关于这一块内容的学习,你可以根据上面提到的书籍《统计建模与R软件》、《R语言实战》、《R Cookbook》等初识一下可视化,了解R软件基础包中是如何实现数据可视化(尽管每一个绘图函数都包含很多参数),这样会对你的绘图思维带来好处。如果要推荐几本数据可视化的书,我会强烈推荐《ggplot2:数据分析与图形艺术》《R数据可视化手册》

第一本书是ggplot2包的开发作者所编著的,在R中ggplot2也是非常火爆的可视化包,书中详细介绍了如何利用图层的思想绘制完美的统计图形,有系统的绘图组件,如geom_*函数、stat_*函数、sacle_*函数及theme类函数。这本书更多的是从绘图思想和理论出发,介绍ggplot2包的庞大功能(当然也有很多绘图案例)。

第二本书则弥补了第一本书的轻松感,说实话,我读《R数据可视化手册》的次数要比《ggplot2:数据分析与图形艺术》多一些,因为该书通过非常多的例子来对比基础包与ggplot2包在绘图方面的差异,既让我巩固了基础包的绘图方法,也提升了我对ggplot2包的浓厚兴趣,目前工作中涉及到基本统计图形(如条形图、直方图、折线图、散点图等)的绘制,我都是优选ggplot2包来完成。当然,我也把ggplot2包中常见的绘图功能作了整理,并以系列的形式分享在了公众号中。

谢益辉整理的《现代统计绘图》、肖凯的PPT《30分钟学会ggplot2》及英文版的《R语言之多变量数据可视化--Lattice》都是比较好的可视化学习材料。

 

数据挖掘篇

       上面介绍的这些书更多的都是从数据分析角度,如果你想提升自己,研究一些目前比较火的数据挖掘知识,R语言同样提供了出路。这里介绍几本我看过的相关书籍,它们是《数据挖掘:R语言实战》《机器学习与R语言》《R语言数据分析与挖掘实战》《数据挖掘概念与技术》《统计学习方法》

       前面三本书都是基于R语言工具的数据挖掘实战,内容包含了常见的数据挖掘方法,如Knn、Logistic回归、决策树、朴素贝叶斯、神经网络、SVM、随机森林、Bagging、Adboosting、K均值聚类、密度聚类、EM聚类、关联规则等,每一种挖掘方法都配备了详细的数据案例,甚至也会解释挖掘函数中重要参数的含义和使用方法。当你读完这几本实战类的书,你就会发现通过R语言的调包来完成数据挖掘是特别简单的。此时,我相信你一定会对数据挖掘的理论感兴趣(最起码,你在实战数据挖掘的过程中你会反问自己为什么这个参数这样调整会更好?),因为你或多或少的感觉到你遇到了瓶颈,你想更往上走一步,但又力不从心。此时,你需要的是数据挖掘理论方面的材料来给充实自己,给自己补充能量。那这就是我接下来要跟你介绍的另两本理论书籍。

《数据挖掘概念与技术》这本书虽说是理论方面的书籍,但读起来还是蛮轻松的。书籍中的挖掘部分,首先介绍挖掘方法的概念和理论知识,然后通过某些数据集来完成手工计算的过程,对于读者来说,具有代入感,学习起来也会比较有劲。这本书相对于《数据挖掘导论》来说会稍微难一点,如果你对自己没有信心,可以先看看《数据挖掘导论》这本书。

《统计学习方法》是一本完全偏理论的书籍,包含了很多算法的推理过程,如knn算法、贝叶斯算法、决策树算法、支持向量机算法等,这些推理对读者的数学知识要求比较高,如线性代数、微积分、概率论等。如果你能够静下心来对整本书的推理进行一遍梳理(哪怕是抄一遍),我相信你一定会受益匪浅,对数据挖掘的理解会更加深刻。

 

其他学习资源

       除了上面所提及的书本(几乎每本书我都看了至少两遍),网络上还有更多的习资源,如视频网站、论坛、博客、社区等。接下来我跟大家介绍几个我常去的免费资源:

统计之都https://cosx.org/,里面有非常丰富的高质量文章,包含数据挖掘、可视化、统计学、分析报告等;

统计之都论坛https://d.cosx.org/,如果你有学习上的疑问,你可以在论坛上提问,热心的网友也会给出他们的答案;同样,你也可以看别人提出的问题,尝试回答或查看别人的回复,进一步提高自己的R语言技能;

R语言官网https://www.r-project.org/,官网中有一些不错的学习手册,同时也会定期更新R语言包,截止到写稿目前已有11,899个第三方包,使用R真的就是站在巨人的肩膀上;

经管之家http://bbs.pinggu.org/,网站中有专门R语言论坛,其性质跟统计之都论坛相似,可以互动,相互学习;当然该网站还有其他学习资源,如SAS、计量经济论坛、Python论坛等;

中国统计网http://www.itongji.cn/cms/article/index,网站中有非常多的好文,包含数据运营、数据分析、数据挖掘、干货分享等栏目;

Github官网:https://github.com/,在这个网站上你可以查到很多别人做过的项目案例,含有R语言代码,通过一步步学习,能够提高R语言编程技能 ;

Kaggle官网https://www.kaggle.com/,这是一个提供数据挖掘比赛的网站,你既可以查看别人提交的作页,也可以通过报名比赛来提高自己的实战能力;

 

       尽管有如此多的优秀学习资料,但不要贪杯,在学习过程中一定要各个击破(一本一本的用心看,用心记,用心敲代码),系统学习。如果你想学好R语言这个工具,千万不要着急,基础很重要,否则基础刚学一半就去看高级的或看别人的比赛代码,我相信你还会被打回原形。而且学习还是一个坚持的过程,坚持记得学习;坚持写写心得;坚持将每一个知识点串起来尝试替代你最拿手的工具(如Excel,SPSS等)。加油!“革命尚未成功,同志仍需努力!

OK,到此就分享的差不多了,我在学习R语言的过程中,看书是一方面另一方面要通过书籍中的知识点去想想我会在哪些场景下去使用,怎样使用;同时,通过查看大量的文章(论坛,博客)来学习别人所分享内容的思想、步骤和结论。作为数据分析或挖掘工作者,技能是一方面,另一方面是关于如何培养好自己的分析思维,毕竟技术这个东西是很容易替代的,而思维才是属于自己的,才是自己有别于其他人的地方。


登录查看更多
0

相关内容

【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
194+阅读 · 2020年6月29日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
专知会员服务
146+阅读 · 2020年6月15日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
193+阅读 · 2020年3月12日
手把手教你用R语言制作网络爬虫机器人(一)
R语言中文社区
4+阅读 · 2019年1月26日
知识分享 | 深度学习的学习路径
沈浩老师
19+阅读 · 2019年1月9日
基于R语言进行Box-Cox变换
R语言中文社区
45+阅读 · 2018年11月19日
95后“过控”专业转行AI工程师打卡!
人工智能头条
5+阅读 · 2018年6月1日
关于Python数据分析,这里有一条高效的学习路径
算法与数据结构
5+阅读 · 2018年1月17日
给程序员的10条建议,吐血推荐!
R语言中文社区
3+阅读 · 2017年12月21日
数据分析/数据挖掘 入门级选手建议
R语言中文社区
5+阅读 · 2017年12月20日
tensorflow项目学习路径
北京思腾合力科技有限公司
10+阅读 · 2017年11月23日
Geometric Graph Convolutional Neural Networks
Arxiv
10+阅读 · 2019年9月11日
Arxiv
8+阅读 · 2019年5月20日
Self-Attention Graph Pooling
Arxiv
5+阅读 · 2019年4月17日
Scale-Aware Trident Networks for Object Detection
Arxiv
4+阅读 · 2019年1月7日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
14+阅读 · 2018年12月6日
Arxiv
3+阅读 · 2018年6月24日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
194+阅读 · 2020年6月29日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
专知会员服务
146+阅读 · 2020年6月15日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
193+阅读 · 2020年3月12日
相关资讯
手把手教你用R语言制作网络爬虫机器人(一)
R语言中文社区
4+阅读 · 2019年1月26日
知识分享 | 深度学习的学习路径
沈浩老师
19+阅读 · 2019年1月9日
基于R语言进行Box-Cox变换
R语言中文社区
45+阅读 · 2018年11月19日
95后“过控”专业转行AI工程师打卡!
人工智能头条
5+阅读 · 2018年6月1日
关于Python数据分析,这里有一条高效的学习路径
算法与数据结构
5+阅读 · 2018年1月17日
给程序员的10条建议,吐血推荐!
R语言中文社区
3+阅读 · 2017年12月21日
数据分析/数据挖掘 入门级选手建议
R语言中文社区
5+阅读 · 2017年12月20日
tensorflow项目学习路径
北京思腾合力科技有限公司
10+阅读 · 2017年11月23日
Top
微信扫码咨询专知VIP会员