星期四, 二月 21, 2013

R语言资源


以前人的烦恼是没有书可读,现在人的烦恼是书太多了。关于R语言的书已经出版很多了,博主大约读过其中的四十多本,但是书在精,而不在多,学在透,而不在速。把有限的时间放到无限的书海中,这不是阅读的真意。本着造福学习者的角度,博主精选出十二本R书。什么是好书的标准?我以为是:有案例,有代码,有习题,有讲解,逻辑清楚,排版精良,体系完备,互有补充,内容千锤百炼,值得反复揣摩。书单均为英文版,都可以从网上找到。当然这份书单的选择是有主观偏见的。


一、初学入门:
《R in Action》
《The Art of_R Programming》
入门者可首选两本,前者从统计角度入手,分高中低三部分由浅入深的讲解了如何用R来实现统计分析,另外此书已经有中文版面世。后者从程序编写的角度入手,对R的本身特点进行了清晰的介绍。中文版应该快有了。
更新:《learning R》
这本书没有单纯的讲语法,而是和数据分析的流程结合了起来,从数据获取到数据整理再到分析和报告,有一气呵成的感觉,此外最后两章讲如何写稳健的R代码以及写包都是非常精彩的。

二、统计进阶:
《A Handbook of Statistical Analyses_Using_R》
《Modern Applied Statistics With S》
这两本书基本上涵盖了统计的一些高阶内容,例如多元分析、多层回归模型、荟萃分析、生存分析等内容。案例丰富,公式不多,值得反复学习参考。

三、科学计算:
《Introduction to Scientific Programming and Simulation Using R》
除了统计分析外,此书独特之处在于使用R来做数值分析,如求根,最优化,数值积分。还包括了一些常见的模拟技术。书后的习题和最后的案例非常有用。该书的中文版据说还在翻译。

四、数据挖掘:
《Data Mining with R_ Learning with Case Studies》
《Machine Learning for Hackers》
两本侧重于数据挖掘的R书,全是以案例为线索,示范的代码量很大。跟一遍下来会有很大的收获。
更新:《An Introduction to Statistical Learning》
这本书可以说是另一本数据挖掘大作《The Elements of Statistical Learning》的R实现手册,体系结构基本一致,更强调用R来实现,更难得的地方是提供了很好的习题。

五、数据绘图:
《ggplot2 Elegant Graphics for Data Analysis》
ggplot2还有什么好说的呢,R中最优秀的绘图包,但由于近期该包升级很快,这书显得有些过时。好在中文版进行了大幅更新,即将面世。
更新:《R Graphics Cookbook》
这本书也是RStudio公司的人出的,似乎是Hadley的学生吧,主要是各种ggplot2包的例子,也包括了用其它包来画图,建议通读一遍。

六、参考手册:
《R Cookbook》
《R in a Nutshell》
有时候我们需要类似词典的案头参考手册,以方便随时查阅。又或者可以通读一遍以查漏补缺。上面两本书虽然有些厚度,但仍然推荐之。后者的中文版也在翻译状态。

七、高级编程:
《R Programming for Bioinformatics》
《software for data analysis programming with R》
如果你是初学者,不要去看上面两本书。如果你想进阶为专家级R用户,那你需要精读它们。前者讲解了R少为人知的一面,例如字符处理、正则表达和XML,还有报错处理以及与其它语言的交互。后者更是编写生产级代码的圣经指南。
更新:《Advanced R programming》
Hadley的力作,只是还没有写完,已经可以从这里看到部分,清楚的讲解了R的函数式编程思想和写R包的各种细节,要迈入R高手,不得不读。

30 条评论:

  1. The Art of R Programming中文版就快出版了,敬请关注!

    回复删除
  2. hackers,ggplot,nutshell这三本看的比较仔细,真心不错!

    回复删除
  3. A Handbook of Statistical Analyses_Using_R有没有习题答案?

    回复删除
    回复
    1. 不知道是否有哪位大牛愿意为人民服务,给份儿习题答案。

      删除
  4. The Art of_R Programming可以算进阶不能算入门,不然这R门槛就太高了

    回复删除
  5. 此评论已被作者删除。

    回复删除
  6. 竟然没审核通过
    再来
    链接:http://pan.baidu.com/share/link?shareid=372659&uk=372535497 密码:3220
    十二本书的下载连接

    回复删除
    回复
    1. 这位仁兄已经把我想做的事情做了。

      删除
    2. 感谢仁兄! 哪天请你喝酒

      删除
    3. 下载不了!此链接分享内容可能因为涉及侵权、色情、反动、低俗等信息,无法访问!

      删除
    4. 麻烦还能在共享一下吗?现在下载不了。谢谢

      删除
    5. 请问密码是什么?

      删除
  7. Winston Chang最近出了本R Graphics Cookbook,我觉得比ggplot2 Elegant Graphics for Data Analysis好。首先比较新。后者好多的命令都已经在后来的ggplot2 package中淘汰了。再一个是比较实用,没有任何理论,code拿过来就能用。

    关于R入门,我觉得The R Book讲解R的部分还是很好的,虽然统计部分对我来说太难了。

    回复删除
    回复
    1. R Graphics Cookbook那本书我看了,是相当不错,cookbook嘛,拿来就能用。the R book那本被很多人吐槽,我感觉排版略为要差一些。

      删除
  8. 好多人对The R Book的书名都很反感:他又不是core team,怎敢用这个书名?我是用这本书入门的,还是蛮喜欢的。

    回复删除
    回复
    1. 看The R Book需要较好的基础,以及很好的耐心,毕竟很厚。很多机构也将它作为指定参考教材。

      删除
  9. 为什么我不能加载PerformanceAnalytics 这个程序包?
    library(PerformanceAnalytics)
    出现这个错误 不存在叫‘PerformanceAnalytics’这个名字的程辑包

    回复删除
    回复
    1. 要事先安装一下,install.packages('PerformanceAnalytics')

      删除
    2. 您知道如何在R语言软件中使用MACD吗?

      删除
    3. 使用quantmod包就可以使用macd指标

      删除
  10. 向楼主学习,争取能够看完一本英文的我就心满意足了。光R in action就400多页。
    我虽然可以用R来编程做作业,但是还是没系统学习R。现在努力学习

    回复删除
  11. 我終於肉身翻牆可以過來看你blog了。

    回复删除
    回复
    1. 肉翻是王道啊,恭喜Y叔。

      删除
    2. 为啥不在墙内搞一个博客呢?

      删除
  12. 新人准备入门R,精通PHP,门槛咋样

    回复删除