该如何学习 R 语言?

今年年初开始接触R语言,自学兼修课,学了一个学期,暑期在某上市互联网公司找了一份纯粹用R语言工作的的数据分析实习,现在应该可以说熟练掌握R语言了。我的学习路径如下:
名师指导——学习coursera公开课;

巨人肩膀——浏览技术博客+几本入门书籍;

社区帮助——很多牛人只是比你更善用搜索引擎;

三人行——找到一个一起学习的小伙伴;

实践实践实践——用R完成Assignments,做助研,找一份数据分析实习。

一.公开课推荐。

公开课首推上约翰.霍普金大学的数据科学系列课程。该系列完全使用R作为分析工具,轻松引领你从R的初学者转变为R的开发者。

该系列课程包含如下几门课。

1.《数据科学家的工具箱》

该课程主要介绍了数据科学家常用的一些工具。包括R、 RStudio、 Git 、Github ,这里强烈推荐RStudio,作为R的一个集成开发环境(IDE), 它可以在Latex、 PDF、 markdown、 html 中游刃有余,并且是个强大的Literate Programming 工具。除了以上提及的强大工具之外,还介绍了数据的类型、数据分析的方法过程、以及数据科学的一些知识点。

2.《R语言程序开发》

主要内容包括:1)R概述,R的数据类型和对象,数据的读写操作;2)R中的控制流,函数式编程,作用域,时间数据类型;3)循环函数,检查代码漏洞的方法;4)数据模拟实现,代码风格规范。

3.《获取和整理数据》

完成这门课程将获得技能:1)从各种资源获取数据;2)数据清洗的原则;3)数据整理的工具与技巧。

4.《探索性数据分析》

完成这门课程将收获:1)运用R中的base,lattice,ggplot2等绘图系统进行数据的可视化展示;2)对不用类型的数据运用基本的数据展示原则创造丰富多样的分析图;3)基于特定问题出发,运用探索高维数据的统计技巧,创造多维度数据的可视化方式。

5.《可重复性研究》

通过这门课程,你将学会:1)使用Rmarkdown撰写文档;2)在分析报告中嵌入R代码;3)用knitr等相关工具编译Rmarkdown文档;4)进行可重复性的数据分析研究。

6.《统计推断》

这门课主要介绍统计推断的基础。可以收获:1)统计推断的概览;2)进行统计推断的模型假设;3)复杂统计推断的技巧。

7.《回归模型》

这门课教会学生:1)如何进行拟合线性模型,如何进行残差分析;2)进一步探索如何引入哑变量解决特殊的模型设定问题;3)介绍广义线性模型,特别是Poisson回归和Logistic回归。

8.《实用机器学习》

完成这门课将收获:1)经典机器学习算法;2)如何应用多种机器学习工具;3)如何对真实数据进行模型评估和预测。

9.《数据产品开发》

内容涵盖:1)如何创造统计产品以进行交互式探究;2)重点学习如何探究不确定性的统计结果;3)如何创造Shiny应用,以及数据产品相关的R扩展包。

二.技术博客和书籍推荐

R-bloggers:R and Data Mining: 老师的个人博客:,肖凯老师推荐了十几本R参考书。
书籍:《R语言实战》,《R语言编程艺术》,《机器学习——实用案例解析》,《ggplot2数据分析与图形艺术》,这些书都有中文版。三.社区帮助

l R自带的帮助文档;


l R Journal: ,对研究某个包非常有帮助;

l 一个神奇的网站:,牛人聚集,99.9%的R问题都可以在上面找到你想要的答案;

l Stat.stackexchange.com;

l R Mailing List:

l Talk Stats: ;

l Google,善用英文搜索;

四.小伙伴

找到一个志同道合的同学一块学习,一块在coursera上刷Assignments,互相帮助检查代码,互相督促看书敲实例代码进度,比较容易坚持下去,在此,感谢。

五.实践实践实践

我在学校选修了两门R数据分析相关的课程,并且给老师做研究助理,用R完成老师布置的编程任务,学以致用,非常高效率。暑期的时候找了一份数据分析实习,实践两个月,对代码的规范化和可重用性的重要性有了更深刻的理解。


------------------------------------------------------------------------------------------------------------------------

更新:

最近才刚开始在答题,没想到会有这么多的人点赞,真的非常感谢大家的认同。评论区有的同学反馈了几个问题,在这里罗列并补充说明一下。

公开课很boring,你居然刷完了?没有统计学基础,可以按这个路径学习R吗?刷个课就能找着数据分析实习?对于问题1,我非常认同,其实我也没有刷完整个系列。主要是因为进度太慢,内容太少,并且我是统计专业出身,课程的很多内容我已经有了一定的把握。但是,我认真的刷完了第2门和第8门,完成了相应的Assignments。我相信这个系列课程对欠缺一定的统计学基础的同学一定会更有帮助。

对于问题2,我的回答是“definitely yes!”.

对于问题3,我想这位同学应该没有仔细看完整个答案。我虽然是用一个学期从开始接触到掌握,但是花的时间也还挺多的。其中,花时间最多的时候是给老师做助研,研究一些R的新奇功能,以及一些R包源码。另外,我用R完成了四门课的小论文(报告)的编程。

突然想到在Quara上曾浏览到的一个回答:有一定基础的同学我觉得是可以借鉴学习的。

Hadley大神是这样回答的(我想谁是Hadely应该不用解释了吧(●'◡'●)):

Writing. I have worked really hard to build a solid writing habit - I try and write for 60-90 minutes every morning. It's the first thing I do after I get out of bed. I think writing is really helpful to me for a few reasons. First, I often use my writing as a reference - I don't program in C++ every day, so I'm constantly referring to @ every time I do. Writing also makes me aware of gaps in my knowledge and my tools, and filling in those gaps tends to make me more efficient at tackling new problems.Reading. I read a lot. I follow about 300 blogs, and keep a pretty close eye on the R tags on Twitter and Stack Overflow. I don't read most things deeply - the majority of content I only briefly skim. But this wide exposure helps me keep up with changes in technology, interesting new programming languages, and what others are doing with data. It's also helpful that if when you're tackling a new problem you can recognise the basic name - then googling for it will suggest possible solutions. If youdon't know the name of a problem, it's very hard to research it.Chunking. Context-switching is expensive, so if I worked on many packages at the same time, I'd never get anything done. Instead, at any point in time, most of my packages are lying fallow, steadily accumulating issues and ideas for new feature. Once a critical mass has accumulated, I'll spend a couple of days on the package.Finally, it's hard to over-emphasise the impact that working full-time on R makes. Since I've left Rice, I now spend well over 90% of my work time thinking about and programming in R. This has a compounding effect because as I built better tools (cognitive and computational) it becomes even easier to build new tools. I can create a new package in seconds, and I have many techniques on-hand (in-brain) for solving new problems.我觉得R的入门门槛是比较低的,即使你没有编程基础,只要你集中一段时间(几个月?)投入,你应该就能享受到它带给你的便利。但是,要想成为一个R开发者,是需要持续的付出一定的时间和精力的。   1/2    1 2 下一页 尾页

爱华网本文地址 » http://www.aihuau.com/a/81440103/5266.html

更多阅读

外痔该如何用药治疗? 轻度外痔如何治疗

外痔该如何用药治疗?——简介秋季容易上火,是痔疮的高发期,其中又以外痔患者居多。外痔是长在肛门外的球状物,较大者容易堵塞肛门。严重时人体无法正常排气,十分痛苦。中医认为,外痔主要病因是饮食不节,过食肥甘厚味、辛辣刺激之品,或因久坐

肌底液有用吗?又该如何使用呢? 奥尔滨肌底液使用顺序

看《瑞丽》越来越多肌底液的广告,肌底液到底是什么?又该如何使用呢?两年前PP同学就寄来小黑瓶样版 ,当时就好奇这又是涂于哪一层呢,查相关说明资料得知,用于洁面、爽肤之后,精华、乳霜之前,其作用在于软化角质层,以利于后续(精华、乳液)功效成

齐炳权:八字命理看你该如何找对象?

易帆风顺八字命理看你该如何找对象?文/齐炳权如何寻找恋爱或结婚对象,是待婚男女比较关心的事情,笔者因常被询问这类问题,才着手调查与取证,归纳与统计得出两个实用的验方,应验率较高,以下中华易帆风顺研究院齐炳权老师(QQ:77

创业必读:年轻人该如何赚大钱?

年轻人该如何赚大钱?香港房地产业巨子李兆基的观点简洁有力,即读经济、不早婚、储蓄。   据香港媒体报道,在香港与华人第一富商李嘉诚同等份量的恒基地产主席李兆基,最近和香港科技大学学生座谈,学生的兴趣在如何致富,李兆基也坦率表

重生之豪门千金赚大钱 年轻人该如何赚大钱?

年轻人该如何赚大钱?香港房地产业巨子李兆基的观点简洁有力,即读经济、不早婚、储蓄。    据香港媒体报道,在香港与华人第一富商李嘉诚同等份量的恒基地产主席李兆基,最近和香港科技大学学生座谈,学生的兴趣在如何致富,李兆基也坦率

声明:《该如何学习 R 语言?》为网友虚伪分享!如侵犯到您的合法权益请联系我们删除