序二

我有时会问自己会不会因为名字而买一本书?当我看到“R的极客理想”时,我就找到了答案。把这个书名做个分词,去除停止词之后有三个词:“R”、“极客”和“理想”。这是耐人寻味的三个词。

R是我现在谋生的工具,我对它有着十多年的感情。我亲历了R从和GAUSS进行比较的时代走过和SAS进行比较的时代、来到了和Python及Julia这样的语言进行比较的时代,从最开始的无人问津到如今的炙手可热。R的资料在互联网上可以说汗牛充栋,但是中文书籍仍然很少。张丹是圈内著名的博主,明永玲是圈内著名的编辑,有幸被邀约写这篇序言时,我对这个组合非常看好。

阅读内容之后,我发现这本书有太多和其他R语言书籍不一样的地方。传统的R语言书籍大多是基于统计的思维展开的,通过介绍统计方法在R中的实现来学习R,这就使得很多统计出身的用户可以很容易地和其他统计软件进行类比,从而加速学习的过程。进入大数据的时代后,R作为数据处理的神器也越来越受关注,R语言的书籍也开始以数据为中心,从数据的获取、处理、分析一直到可重复研究和可视化展现,在应用层面进行全方位的介绍。但是,作为一种编程语言,程序员视角的R书籍还是非常少的。张丹的这本书刚好可以覆盖这部分的内容。

极客是R圈中比较少见的一种生物,尤其是来自极客之乡IT界的正宗极客。R的最初用户基本上都是统计圈的,但是最近几年R能够在国内越来越火,主要得益于IT界的贡献。R在欧美火的时间更早,但发展的趋势也大抵如此。从R的本性来说,它本不该是极客关注的语言,因为其对外部功能延伸的追求远甚于对内部语言完美的追求,从S语言设计之初就声明了人的时间远比计算机的时间宝贵,尤其是分析建模人员的时间。这种比较乡愿的风格最初是不为极客所喜的。但是因为其极端易用,在惜时如金的产业界快速地流行了起来,自然而然地产生了大量的难题。于是高贵冷艳、魅惑狂狷的极客们就参与进来了。我认识的张丹,就是这样一位极客。

R是一个很奇怪的东西,没有编程基础的人可以很容易地入门,但是很难有信心觉得自己成了高手。编程高手初学时常常是破口大骂,但是很快就中了R的迷毒。说到底,还是因为R本质上是统计学家发明的语言,和模型打交道的能力比和计算机打交道的能力更强大。虽然如此,随着R的扩展包越来越丰富,用户在享受便利性的同时也增加了理解上的风险,函数背后的机制不再是黑箱,那么,R中的IT高手的见解就变得非常重要。从他们的视角来看R、使用R,无论是对于统计背景还是IT背景的用户都有很强的借鉴意义。

R流的是实用主义的血,看上去和理想是背道而驰的。但R毕竟是没有灵魂的工具,它的性格应该取决于用它的人。在张丹的这本书里,我看到了理想的光辉。我看过不少书也自己写书,感觉介绍知识是最简单的事,但是表明观点是最困难的。对于作者来说,观点越不鲜明就越能避免犯错。但是对于读者来说,尤其是初学的读者,很容易陷入对自己的怀疑中。而张丹的这本书会直接告诉读者应该怎样做,照着代码操作一遍就能解决问题。虽然有些建议可能不是最好的解决方案,但至少是足够好的,在实际的应用中可以解决问题。在这一点上,理想主义的作者和实用主义的R实现了完美的结合。

当然,整本书在“R”、“极客”、“理想”之间实现了更加完美的结合。

李舰

2014年8月1日于上海