天问

从懵圈到深入,1年精通R语言

其实相对于常见的编程语言,R语言还是非常容易上手。学习1年多时间,就可以找一份不错的工作了。

前言

我当初学习R的时候在网上搜到一则流传很广的R语言学习路线图(R语言学习由浅入深路线图),我在微信圈,微信公众平台上也见多次,写的确实很详细。但是对一些没有编程经验的童鞋来说,学习的难度还是太大了。后来自己浏览了很多R语言书籍,尝试了一些门槛比较低的书籍。自此,R语言学习才走上正轨。以下涉及内容包括R语言书籍的推荐,以及R语言相关课程的推荐,学完这个教程的内容之后足以应付工作学习中遇到的统计分析的问题了。

 

经典书籍推荐

R语言有两类书籍比较“坑”,一类是Programming类,一般都带programing字眼,但不绝对。这类书籍一般是计算机背景的人写的,关注的重点是编程(写代码和编程不是一码事),底层的运行机制之类的,比较难以捉摸,典型的例子是《The art of R programming》。还有一类是讲统计知识比较多,而且喜欢推公式。虽然有所裨益,但是会分散很多学习R的精力,可以作为后期提高的书籍,但是作为入门不太合适,像《The R book》。

讲完了“不好的”R的学习资料,可以规避一些“误入歧途”的风险。下面介绍一下我觉得比价有用的学习资料。学习任何语言的捷径就是Learn by dirty。这里推荐一个网站,code school的Try R 课程,非常基础,从最基本的语句的赋值到最后的数据框的基本操作,手把手一步一步的教你,然后对你输入的语句,网页会给出判断,如果写错了,还有很详细的解释。网页全部是英文的,英语过了四级的童鞋应该可以应付了。

R的入门书籍,比较好的是Learning R , 中文名是《学习 R》。第一章到第五章的数据的基本入门,必须要细看的,而且要读好几遍的,这是R的最基本的东西,需熟练掌握,多家练习。别觉得看懂就行了,只有自己敲出来运行正确才行。第六章环境和函数这一章建议直接跳过,比较抽象,等回头R学的差不多了,再回头看比较好。大多数人,平时基本不涉及到这一样的内容。第七章 字符串和因子也是很重要的一章,特别是医学领域。第八、九章的循环,量力而行。第八章的内容其实大多数其他编程语言都会涉及。但是在R里面,这些显循环,用的较少。其实主要还是向量化的操作为主,也称隐循环。第九章的隐循环非常有用,是R最精华的东西,就是学习起来有点困难。其主要内容是 apply族函数,包括lapply, sapply, tapply, apply, mapply等。这本书最优秀的地方在于数据的subset部分,各种方法讲的非常详细,也有很多的例子。这也是R语言比较难入门的地方。

 

《R in Action》 确实一本非常优秀的书籍,我看喝多大神都推荐这么书,我大概学了一遍,确实非常不错。这本书非常好的地方在于围绕具体的问题展开,教你如何利用R进行操作,而且选取的例子也非常具有代表性,所以建议每个例子都要详细研究。但是这本书学习曲线比较陡峭,可能上一章的内容还没有消化,又要开始新的内容了。遇到问题时建议多点耐心,谷歌或者请教别人,把这些知识点掌握了,这是R的基础。

 

还有一本书,《R cookbook》,这本书是围绕具体的问题进行设置的。所以可以作为一个遇到困难时候的快速翻阅手册,里面特别有用的章节是如何运用apply组函数,上面两本书都讲得不是很详细。

 

R绘制统计图的功能非常强悍


(你见过这么令人心神荡漾的图嘛!)

 

你见过的没见过,想到的,没想到的,都可以绘制出来哦。哈哈,心动不如行动,几行代码一敲,令人心神荡漾的图片就出来啦。R绘图非常简单的,就是一个简单的学习记忆的过程。R语言绘图发展的非常快现在有三大绘图系统,基础绘图系统,Lattice绘图系统,ggplot2绘图系统。虽然各有其使用价值,但个人推荐ggplot2绘图系统以及基础绘图系统。 Lattice对于多分组的数据的展现比较好,但是ggplot2是可以很大程度上替代其功能,不学习也可以,非要用的时候依葫芦画瓢就可以了。

 

R的基础绘图系统和ggplot2绘图系统的学习路线

R基础绘图系统《R in Action》中,花了很大的篇幅介绍了基础绘图系统,如果学习完了,工作中碰到的很多统计图就可以胜任了。如果你喜欢钻研,可以看看谢益辉(Knitr包的作者)的《现代统计图形》,讲的非常详细和透彻。不仅如此,更是讲解了图形的选择,图形的设计方面的知识。学有余力,不妨学习一下ggplot2绘图系统, 推荐《R graphics cookbook》一书。书中不仅有ggplot2的绘图代码而且还将其与基础绘图系统进行了比较。介绍的图形非常实用,而且ggplot2的扩展性非常强,可以发挥你的想象力,创造一些新奇的图形。


(R语言书籍全家福)

 

R语言学习网络课程推荐

1. Datacamp,learn by coding类型的网站,课程设置非常用心,难度合适,内容丰富,最好的R语言学习网站之一。

 

2. 国内的视频课程

国内的R语言网络课程最丰富的应该是炼数成金(dataguru)平台,课程包括《R语言数据分析、展现与实例》,《R七种武器之交互化展示包shiny》,《R七种武器之文本挖掘包tm》,《R七种武器之数据可视化包ggplot2》、《R七种武器之数据加工厂plyr》、《R七种武器之金融数据分析quantmod》、《R七种武器之网络爬虫RCurl(第四期)》等。其中比较适合入门的课程是《R语言数据分析、展现与实例》

 

3. MOOC课程

Coursera John Hopkins 专题课程不错 (已经上完6门课,2门课正在学习中);还有edX上MIT的The Analytic Edge课程也不错。其他答案有详细介绍不赘述了。


4. 强烈推荐Swirl包,你值得拥有。

简单易懂,容易上手。分初、中、高级。

 

作者:Evan

链接:http://zhuanlan.zhihu.com/p/21801789

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

博客地址:http://blog.yoqi.me/?p=396
扫我捐助哦
喜欢 1

这篇文章还没有评论

发表评论