R语言学习资料大盘点,20门课程、16本教材随你挑!
图片来自123rf.com.cn 正版图片库
R语言是我从MOOC上学习到的第一门技术,也是我现在还算拿得出手的一门实用的技能。自从通过MOOC入门了R后,我就对这门人性化的编程语言产生了强烈兴趣。然而由于个人时间关系,R相关的MOOC课程上得并不是很多,R方面的水平也不算深;只希望把仅有的一些经验分享给大家,希望能抛砖引玉,引出潜水的更专业的大神的讨论。
首先,我把R相关的MOOC课程按照我的熟悉程序分为:完全体验、部分体验、没上过三个类别。
-
完全体验指的是我认认真真地看视频、做作业并拿到证书的课程;
-
部分体验是指我没看视频,只做作业拿到证书的课程;
-
没上过就是压根没上过的课程。
完全体验和部分体验类我会根据自己的体验给出个人观点和建议,部分体验和没上过的课程我会主要参考课程的说明、目录以及上过的MOOCers的点评,也给一些个人理解的观点和建议。可能有偏差,欢迎指正。
同时,这里把R语言的功能分为三类,以表示不同课程各自的侧重点:统计类、程序类、绘图类。
-
统计类的功能主要是涉及到数学计算、统计分析的功能,比如加减乘除、t检验、方差分析、线性回归等;
-
程序类的功能主要是数据结构的处理,比如抽取数据框、for循环、自定义函数等;
-
绘图类显然就是只是用R绘制各种可视化图形了。
当然这三类也不是完全分割开来。一个实际的数据分析项目往往是先用程序类的功能处理数据,再用统计类的功能揭示数据内部规律,最后用绘图类的功能来可视化分析结论。
个人感觉,科研人员(比如像老夫这种苦逼的研究僧)更多会应用到统计类的功能;开发人员(比如数据挖掘程序猿)更多会应用到程序类功能;而商务人员(比如互联网运营)更多会应用到绘图类功能。当然,再强调一遍,实际项目中这三类并不能分割开来。
好,废话完毕,下面开始。
(注:课程的评分均为果壳评分,部分课程因点评数量不足,暂时没有得分。课程评价均为个人观点。)
1-R导论
微软,edX,7.6分
体验度:部分体验
分类:程序类
这门课没有涉及到太深的统计,主要讲解R一些基本数据结构的操作,当然最后也提到绘图。这门课是我对R熟练以后拿来练手的,视频虽然没看,不过作业设计得非常好。学生在Datacamp平台上按着老师的指导,按要求完成残缺的程序;如果写错了也会有提示。非常适合入门,个人认为是MOOC学院里现有的最适合入门R的课程。然而,这门课本身内容还是有些单薄。学完这门课收获是可能在R中对数据作一些简单的操作,但无法胜任稍复杂的需求。
建议:适合对R有点了解但还不会敲代码的童鞋。
2-数据分析与统计推断
杜克大学,Coursera,9.1分
体验度:完全体验
分类:统计类
这门课主要是讲统计学原理,R只是一个彩蛋,老师基本不会在视频里详细讲。这门课里的R应用只要包括平时作业的lab,以及一个要用R markdown写的project。如果你之前对R没有任何接触,那么上这门课可以对R有个感性认识,知道它的一些功能;然而只通过这门课还很难独立用R语言处理实际项目。
建议:如果你只想学R,不关心统计原理,这门课并不推荐上。这门课适合对统计不熟,对R完全没接触过的童鞋。
3-探索R语言统计
卡罗琳学院,edX,7.6分
体验度:没上过
分类:统计类
从课程说明上来看,这门课讲述基本的统计学原理以及R语言的相关应用,包括数据的导入、分析以及可视化;老师多次提到数据分析和R语言在医学上的应用及意义,相信医学类的童鞋学习更有体会。从用户点评上来看,这门课依然属于入门级,老师会手把手教着怎么敲代码。
建议:不会R编程的童鞋可作为入门课程;医学类专业可以体会一下R在医学领域的应用。
4-用R语言进行数据分析:可视化分析并总结数据集
Udacity,暂无评分
体验度:没上过
分类:统计类+绘图类
这门课内容并不多,一共才2周长度,每周6小时负荷;从介绍上来,这门课主要是教授对数据集的描述性统计分析以及作一些相关的图,估计包括散点图、条形图、直方图等。这门课的实用性较强,统计学原理部分并不算系统,但属于最常用的部分。
建议:职场人士可以快速学习如何专业地处理数据,以及用R作精细化的图表。
5-初级统计与R(法语授课)
FUN,暂无评分
体验度:没上过
分类:统计类
法语课……根据老夫无责任猜想,应该是属于统计学原理+R应用的课程,内容和结构与杜克大学的《数据分析与统计推断》比较接近,目录中涉及到R的部分只在lab中,所以也可能是课上不讲,只在课外作业中练习。课程内容貌似是包括常用统计图形、置信区间、相关系数、显著性检验、回归、主成分分析、层次聚类等统计概念。
建议:适合于既想学统计学原理,又想练法语的童鞋……
6-数据分析基础
德克萨斯州大学奥斯汀分校,edX,8.2分
体验度:没上过
分类:统计类
同样是一门主要讲述基础统计学原理以及R的应用的课程。这门课有13周的长度,课程量不小。根据课程目录,初级统计学部分涵盖得比较系统系统、完整。从用户点评上来看,这门课的作业量和课外阅读材料不少,如果能坚持解决,相信会有不少的收获。
建议:适合缺乏初级统计学基础的童鞋,同时也能在这门课中入门R编程。
7-统计学习
斯坦福大学,StanfordOnline,9.1分
体验度:没上过
分类:统计类
这门课主要讲述机器学习中监督式学习的回归和分类,以及R语言在这方面的应用。机器学习就远不止初级统计学那么简单了(虽然有交叉部分),如果没有初级统计学基础不推荐学机器学习;实际上从这门课的用户点评来看,这门课也是比Andrew Ng的课要难不少。
建议:适合有计算机或数学专业素养、有算法基础的童鞋学习,至少要掌握了初级统计学后再来上这门课。
8-数据科学与机器学习要领
微软,edX,暂无评分
体验度:没上过
分类:程序类
从课程说明上来看,这门课并不是纯粹讲授R语言的课,只是把R当作工具来讲授机器学习的实践;而且除了R,还包括Azure、Python、SQL等技能。
建议:适合于已经有R语言基础,并同时掌握多种其他技能,想学习或巩固机器学习实践的童鞋。
哈佛大学生物系8项数据分析专项课程,其中前3门主要讲述统计学原理和线性代数等数学知识,没有生物背景的童鞋也可以上;后5门则是生物领域的专业应用了,请生物专业的童鞋自行交流,可以去抱生物博士@yz-nini 的大腿!
9-生命科学中的统计学与R编程 8.1分
分类:统计类
体验度:完全体验
这门课是老夫R语言的启蒙课啊!!!有很深的感情有木有!!!!其实客观上来说,单从统计学的角度来看,它不够系统;单从R语言的角度看,它不够循序渐进。但是它的优点是废话少,手把手带你解决实际问题;而且在作业里也提供了详细的解释和引导。手把手跟着视频练习一遍,并且独立完成作业的话,应该就能独立用R语言处理简单的实际项目了。
建议:已经有一定统计基础的,没有R基础或者想在实战中巩固R技能的童鞋适合上这门课。
10-线性模型和矩阵代数导论 6.9分
分类:统计类
体验度:完全体验
这门课主要是讲线性代数理论的,以及R的一些相关计算。但是这门课并不系统。如果你学习线性代数,那这门课偏简单了点(除了最后两节个人感觉忽然就很难了);如果你没有线性代数基础,这门课可能就难跟上了。这门课里的R应用主要体验在矩阵运算。
建议:适合有线性代数理论基础以及R编程基础,想要学习R里矩阵运算的童鞋学习。
11-生命科学的高级统计学 8.1分
(理工科的闷骚男,所有的课都用同一张图真的大丈夫?)
分类:统计类
体验度:没上过
从课程说明来看,这门课主要讲授高级统计学的原理,当然还是用R来计算。课程难度比前两门提升了不少。而且这门课还讲到了R markdown的应用方法。
建议:有一定R基础,且想学习高级统计学原理的童鞋推荐上这门课。
终于轮到广为人知的JHU的专项课程了。坦白说,这个专项课程的普遍评价并不是很好,但并不代表没有价值。如果没有更好的选择,上这些课一样会有收获。根据首席点赞官@PuNaDSmile 的观点,这个专项课程在被广大的学生吐槽之后,很有骨气地在不断改善,这也是在传统学校里处于弱势地位的学生在MOOC平台上发挥力量的正能量案例;所以大家要还是给这些课程多一点鼓励吧。
12-数据师的工具箱 6.7分
分类:程序类
体验度:没上过
从用户点评上看,这门课的内容主要是Github的介绍以及R环境的配置。但实际上,有一定操作能力的童鞋都能自行解决Github的熟悉和R、RStudio的安装。
建议:建议完全不了解Github或者无法独立安装R的童鞋上。
13-R语言程序开发 7.1分
分类:程序类
体验度:部分体验
从课程目录来看,这门课的结构非常零散、不系统,基本上是想到哪就讲哪,看不出课程设计的认真的诚意。
从用户点评上看,主要槽点在:
1、对新手来说太难,不适合入门;
2、老师只是照念PPT,十分boring;
3、看视频也没用,也做不了作业。
但老夫是做过作业的,quizzes非常简单,轻松满分;projects是基于三个医疗行业的比较大规模的数据集,创建自定义函数实现特定功能;对于训练逻辑思考和自定义函数还是很有好处的。并且这门课作业的提交方式也很智能,直接在RStudio上在线提交,连接到Coursera给分;灰常开眼界。
此外,这门课介绍了swirl包,这是一个非常好的入门包——零基础的同学如果想上这门课,建议从这个包开始学。
建议:适合有R基础的童鞋练手用。
14-获取和整理数据 7.1分
分类:程序类
体验度:没上过
有一些分析文章指出,R的一个弱点是在导入数据接口方面并不强大;所以往往需要经过SQL、Python、Excel的预处理再导入。但这种方式却不是唯一的途径。从课程说明以及用户点评来看,这门课主要讲到用R的网页爬虫,从APIs和数据库中处理数据,这是相当实用的技能。
建议:有R基础并且有一定开发需求,想要提高获取数据及数据分析效率的童鞋适合上这门课。
15-可重复性研究 6.9分
分类:程序类
体验度:没上过
这其实就是教用R markdown的课程。R markdown在前面的一些课程里也提到。R markdown只是同时懂R和markdown的语法就没问题,但不知道这门课能否提供系统、全面的markdown教学。Markdown也确实是实用的技能,
PS:在MOOC学院楼主发帖也是支持markdown的哦!学好这个技能回来刷逼格也是不错的,哈哈。
建议:有一定R基础且零基础想学markdown语法的童鞋可以一上,否则这门课没必要上。
16-探索性数据分析 7.5分
分类:绘图类
体验度:没上过
这门课主要讲述用base、lattice、ggplot2包来画各种描述性统计图,以及一部分高级统计学处理数据的方法。
建议:适合有一定R基础,想学习用R作图的童鞋。
17-统计推断 6.5分
分类:统计类
体验度:没上过
从用户点评上来看,这门课主要讲授置信区间、假设检验、P值等概念。不少人吐槽这门课的统计知识不全面系统,不够细致。实际上,如果你已经有统计学基础,就不必上这门课;如果你没有一点统计学基础,那还有更适合的课。
建议:适合有统计学和R基础的童鞋练手用。
18-回归模型 6.1分
分类:统计类
体验度:没上过
回归是初级统计学中比较抽象复杂的部分,从用户点评上看,这门课貌似花了太多精力在数学公式的推导上,然而大部分人只关心怎么用。如果你不懂回归,有更适合的课。
建议:适合有统计学基础和R基础,想深入研究回归模型或想在回归方面练手的童鞋上。
19-实用机器学习 7.4分
分类:程序类
体验度:没上过
从用户点评上来看,这门课主要是实践,不怎么讲理论。不过机器学习的核心就是算法思想,如果不掌握理论,就算被手把手地教操作,也无法独立处理实际项目。老师也推荐先去上Andrew Ng的课。这门课实用性很强也是一个优点。
建议:适合有R基础且掌握机器学习基本理论的童鞋上。
20-数据产品开发 7.3分
分类:程序类
体验度:没上过
R的shiny来开发网页应用以及用R的包来制作幻灯片,算是比较高级且有趣的功能。可能一般人用不上,但学了也挺有意思。
建议:适合有R基础,想领略R的美妙之处的童鞋上。
老夫目前发现的MOOC学院与R相关的课程就这么多,欢迎补充。
大部分MOOC的功能仍是体现在“师傅领进门”,如果想深入学习一门技能,那么找一些书自学是必不可少的。下面推荐一些R语言相关的书作为彩蛋。
1-图灵程序设计丛书:R语言实战
作者:卡巴科弗(Robert I.Kabacoff)
译者:高涛,肖楠 ,陈钢
【统计类+绘图类】
非常经典的R语言入门教材。内容非常系统、全面,结构也很清晰、有序。从初级统计学到高级统计学,各种常用的图形都有讲到。把本书仔细研读,R就能达到入门级中不错的水平了。
2-R语言初学者指南
作者:阿兰•F•祖尔(Alain F.Zuur),埃琳娜•N•耶诺(Elena N.Ieno)
【程序类+绘图类】
本书基本不涉及统计知识,主要讲R的一些语法来处理数据和编程计算,以及一些作图。
3-R语言编程艺术
作者:麦特洛夫(Norman Matloff)
译者:陈堰平,邱怡轩,潘岚锋,熊熹
【程序类】
本书基本不涉及统计和作图,只讲R编程来处理数据。值得一提的是,本书有不少案例,实践性较强。
4-R语言核心技术手册(第2版)
作者:阿德勒(Joseph Adler)
译者:刘思喆,李舰,陈钢 等
【程序类+绘图类+统计类】
这本书是个大杂烩,把R的主要功能都集成了,600+页不是吹的。先是详细介绍R语言的语法,然后讲述画图,最后还介绍到了统计和机器学习算法。这是专业级的书,不推荐初学者。
5-ggplot2:数据分析与图形艺术
作者:哈德利·威克姆(Hadley Wickham),殷腾飞 (合著者)
译者:统计之都
【绘图类】
ggplot2包是R中一个很有名的绘图包,用来画美观、精细的图形。ggplot2包在别的书中一般都是简略地带过,这本书却是专门教用这个包画各种常用图的方法。老夫正在无限期拖延学习本书,在发布连载笔记,欢迎一起学习交流!
6-R数据可视化手册
作者:Winston Chang
译者:肖楠,邓一硕,魏太云
【绘图类】
又一本R作图书,不过应该是用base包的基础绘图设备。这本书很全面地介绍了各种图形的画法。可以先看这本书,再看上面那本书,二者一起学相得益彰。
7-计算机科学丛书:数据挖掘与R语言
作者:托尔戈(Luis Torgo)
译者:李洪成 ,陈道轮,吴立明
【算法类】
R语言在数据挖掘领域的应用。这本书的特点是案例比较丰富,而且以实例为导向来讲授知识,应该更能学到解决问题的方法,更有助于理解理论。
8-数据分析:R语言实战
作者:李诗羽,张飞,王正林
个人观点:【统计类】很中规中矩的边讲基本统计学原理,边用R实践的书。可以用为作为学习统计类MOOC的补充。
9-数据科学中的R语言
作者:李舰,肖凯
【程序类】
这本书基本没涉及到统计学,主要讲机器学习和一些R程序操作。本书的一个特定是后半部分有大量行业实例,甚至还有作者自己在微博方面的包,以及与其他各种技术的交互。本书难度较高,不推荐给初学者。
10-统计学精品译丛·金融数据分析导论:基于R语言
作者:Ruey S.Tsay
译者:李洪成,尚秀芬,郝瑞丽
【算法类】
如书名所示,这本书非常专业化,就是为金融领域为背景,专门解决金融专业数据分析问题。适合金融专业学生和从业人员学习。
11-数据科学与工程技术丛书:机器学习与R语言
作者:Brett Lantz
译者:李洪成
【算法类】
讲述了比较丰富的机器学习算法,以及一些实例上的解决方案。内容丰富是本书亮点。
12-应用统计学丛书:多元统计分析及R语言建模(第3版)
作者:王斌会
【统计类】
特点是专门教授高级统计学原理。
13-大数据技术丛书:R与Hadoop大数据分析实战
作者:普贾帕提(Vignesh Prajapati)
译者:李明,王威扬,孙思栋 等
【程序类】
亮点是既讲Hadoop又讲R,以及二者的交互;适合大数据开发的程序猿。
14-R语言与网站分析
作者:李明
【综合类】
主要内容依然是依次讲基本程序语法、绘图和一些机器学习理论方法,最后两章是互联网的实际项目。本书的亮点是与互联网网站分析结合起来,有较为丰富的网站分析案例。适合互联网从业事学习。
15-空间数据分析与R语言实践
作者:拜凡德(Roger S. Bivand),裴贝斯玛(Edzer J. Pebesma) 等
【算法类】
专业向。适合地理类、生态类等相关专业童鞋学习。
16-R语言与Bioconductor生物信息学应用
编者:高山,欧剑虹,肖凯
【统计类】
专业向。适合生物专业童鞋学习,另外可以跟 Introduction to Bioconductor 这门课一起学习。
先就这么多吧,累shi老夫了……
其实R只是个工具,SPSS、SAS、Python、MATLAB也一样有着强大的数据分析功能,R有自己的长处和弱点并非不可代替,而通用的统计学和机器学习的理论才是不可代替的。
事实上,数据分析本来就是一个非常宽泛的概念,在不同行业不同专业中可能是截然不同的体现。先明确自己的行业和背景及其数据分析的应用,再学习R作为一款强大的数据分析工具,才是科学的方法。

如果你和楼主一样,是个忙于应付实验、数据和论文的研究僧,
请戳“阅读原文”发现更多研究僧必备好课程!
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!