《R语言实战》书评

评论人:Dirk Eddelbuettel Debian项目

Journal of Statistical Software 2012年2月

《R实战(R in Action)》

  • 作者:Robert I. Kabacoff
  • 出版社:Manning, Shelter Island, NY, 2011.
  • ISBN 978-1-935-18239-9. 472页. USD 59.99.
  • http://www.manning.com/kabacoff/

Robert Kabacoff的《R语言实战》一书是非常好的R入门书籍。本书评会介绍该书的一些特别之处,当然也会指出这本非常值得推荐的入门书籍中的一些不足。

这本书分为四个部分。第一部分是“Getting Started”,介绍了R的获取和安装。接下来的一章介绍如何创建数据集,然后是对图形的基本介绍。从初级到高级的数据管理占据了两章的篇幅,其中还介绍了数据结构、控制流和函数。

第二部分是四个部分中最短的。首先是对基本统计方法的概述。重点是描述性统计量和绘图,以及基本的推断。接下来是第三部分“中级方法”,这是最长的一个部分,由5章组成。首先是回归分析,包括回归诊断和后回归分析。方差分析占据了一章,然后是效能分析,最后以中级的图形结束这一部分。

最后一部分的重点是高级方法,包括4章。通用线性模型扩展了前面的回归分析。主成份和因子分析涵盖了多元统计。第3章深入讨论了缺失值的问题。最后一章回到了图形,讨论了lattice、ggplot2,以及交互式图形。

除了这四个部分的主要内容,该书还有八个简短的附录。这些附录的内容涉及图形界面、自定义R启动、数据和图形的导出、矩阵代数运算等方面的各种技巧,还列举了该书中所涉及的各种扩展包,介绍了大数据处理,最好讲述了如何更新R。这些都是值得一读的内容,但很好奇为什么不把这些好东西放到书的正文中。

纵览全书,Kabacoff展示了他对R的精通,对各种内容的娴熟,及其深厚的统计学基础。这确实是一本能让人获益匪浅的好书。

我只发现了一些小问题:第2章中关于数据注释的讨论如果能提及comment或attribute函数就更好了。同样,在4.3节中记录年龄的变量可以用cut更紧凑地实现。在图5.5中的图中是用来自pretty的有限的点画出的正态分布。但这个图中是一条条的线段,应该用curve(dnorm)把它画得更平滑些。第5章中说循环式低效的,建议使用apply函数,但实际上随着R解析器的不断改进,这两者间的差距已经不是那么的明显。

类似的,这本书的编辑工作也有一些不足。同一章中的图形所使用的字体却不相同。还有一些书写错误:第8.2节中的普通最小二乘估计器的最后一个,也是最主要的一个公式缺了负号。不过,最糟糕的事情应该是,这本书里面大量的引用了他人的工作,但却没有一节“参考文献”来介绍其所引用的这些工作。

瑕不掩玉,Kabacoff的这本书是R入门的好书,对R的各个方面都做了介绍。《R语言实战》应该是R语言入门课程,甚至是进阶课程的好教材,也是研究人员和相关人员自学R语言的好书。

书评人:

  • Dirk Eddelbuettel
  • Debian项目
  • Chicago, IL, United States of America
  • 电子邮件: edd@debian.org
  • 网址: http://dirk.eddelbuettel.com/