购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

序二

我有时会问自己会不会因为名字而买一本书?当我看到“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日于上海 +8/OHWpYxc04MrtzJQ8RhDQpr2togUCS35ZfT4nIyMRbUf27nBgjhziFoj8Nqn+Q



前言

为什么要写这本书

我是一名程序员,前后做了10年的程序开发工作。在这10年间,我从程序员一路做到架构师,经历了太多的系统和应用。我做过手机游戏,写过编程工具;做过大型Web应用系统,写过公司内部CRM;做过SOA的系统集成,写过基于Hadoop的大数据工具;做过外包,做过电商,做过团购,做过支付,做过SNS,也做过移动SNS。以前只用Java,然后开始用PHP……如同其他程序员一样,我一度陶醉于追求各种技术的创新,但始终有一个问题困扰着我,那就是如何才能够将我所掌握的技术转变成价值?这就好比我面对着一座金山,我拥有先进的技术,可以制作各种性能稳定、功能卓越的挖掘机器,但我不懂如何将矿石提纯,变成金子!每每看到别人利用我的技术挖掘出金子时,我只能满脸的羡慕,心中无限的不甘。

直到遇见R语言,我豁然开朗。R语言为我从另外一个角度开启了宝藏的大门,也让我对自己的职业重新思考、规划,最后坚定了我向统计、金融行业的转型。如果你也存在以上的问题,不如随着本书一起进入R语言的世界,领略R语言特有的魅力,通过对R语言的学习,重新认识大数据的价值,更深一步地提升个人价值。

随着我与统计、金融领域的朋友交流地逐步深入,我深刻地体会到,他们对R语言的实际使用也存在着很大的问题和困惑。比如,他们在某些实验室环境下,使用R语言可以很轻松、很顺利地实现预期效果,但是移植到真实环境下,面对浩瀚繁复的大数据,在使用R语言的过程中出现了很多问题。这就好比面对一座金山,他们掌握着先进的提纯技术,但他们所使用的挖掘、采集工具却还停留在石器时代!使用工具的落后,使他们要面对大量R语言之外的问题,这让他们应接不暇,甚至崩溃!有的人甚至因此认为,R语言只是一种实验室语言,至少以现在的技术水平无法将它运用到现实生活中,R语言在现实生活中广泛应用,简直是天方夜谭!

是的,如果你是一名没有计算机背景的R语言使用者,你在实际使用中也同样会遇到许多这样或那样的问题,面对这些棘手的问题寝食难安,尝试着通过各种方式寻求解决方案。其实,在计算机领域,这些问题已经早就有了成熟、有效的解决方案。

本书的内容来自我在R语言实际使用过程中的经验总结,基本都是我在工作中使用R语言的真实记录,其中涉及计算机、互联网、数据库、大数据、统计、金融等领域,详细总结了R语言在实际使用时与Java、MySQL、Redis、MongoDB、Cassandra、Hadoop、Hive、HBase等技术综合运用的解决方案,具有实战性,可操作性强。如果你与R语言接触时间不长,本书可以让你看到R语言在各行业、各领域所散发的魅力;如果你在某行业使用R语言已经有一段时间了,可能在使用R语言的过程中遇到了瓶颈,本书将让你看到R语言在与其他计算机语言结合后所迸发的强大活力;如果你是技术人员,本书中有全局观的案例实施,也许会给你带来新的启发,甚至跟我一样,重新规划自己的职业生涯,找到学习、奋斗的新方向;如果你是企业的中高层管理者,在本书中可以看到我们已经实现的技术成果,如果需要,你甚至可以按照书中记录的详细操作步骤,直接在企业环境中实施,直接获利!

在此,我不得不强调,本书不是入门书,不讲R的语法,如果你想学习R语言的基础语言入门知识,那么,你来错地方了。但是,如果你已经具备了一定的R语言基础,但不一定具有计算机语言背景,我将告诉你R语言在真实环境下到底都能够做什么,并且详细地告诉你怎样一步一步地实施。

在与各界R语言初学者的交流中,我发现,入门后,学习R语言最大的问题,在于如何使用R语言的众多软件包,而介绍这方面的图书很难找到,只有一些网上流传的小册子。本书涉及了30个R语言包,并结合我的使用心得及案例分析,相信会解决大家R语言入门后的困扰。

本书是“R的极客理想”系列图书的第一本,姊妹篇《R的极客理想—高级开发篇》将深入介绍R语言底层原理,并使用R语言开发出企业级的应用。

本书的使用环境涉及Linux Ubuntu和Windows 7两种操作系统,R语言包的2.15.3和3.0.1两个版本,在每一节中都有明确的标识。

R语言还在不断地进步和更新,它将引导一场数据的革命,跨学科的结合是时代趋势,也是我们的机遇!

读者对象

本书适合以下R语言工作者:

·计算机背景的软件工程师;

·数据库背景的DBA;

·数据分析背景的数据科学家;

·统计背景的科研工作者;

·大专院校相关专业的学生。

如何阅读本书

本书的内容分为四个部分。

第一部分是R基础(第1~3章),介绍了为什么要学习R语言,R语言不同版本的安装,以及R语言中常用的12个软件包。帮助读者快速了解R语言的工具包、时间序列包和性能监控包。

第二部分是R服务器(第4~5章),介绍了R语言与其他编程语言的通信,以及R语言作为服务器的应用。帮助读者打通R语言与其他编程语言的通道,并实现R语言的服务器应用。

第三部分是数据库和大数据(第6~7章),介绍了R语言与各种数据库的通信,以及R语言与Hadoop集成。帮助读者打通R语言与各种数据库层的通道,并实现R语言对基于Hadoop大数据的处理。

第四部分是附录,介绍了Java、各种数据库以及Hadoop的安装方式。笔者希望读者可以在不借助其他参考书的情况下,完成书中所有实例。

本书为工具书,每节之间没有特别的顺序要求,你可以选择任何你感兴趣的章节进行阅读。如果你是一名初学者,想全面掌握R语言,请按顺序阅读全部的章节。

勘误和支持

由于笔者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,笔者创建一个在线的图书交流网站(https://onbook.me),方便与读者进行沟通。如果读者在阅读过程中遇到问题,也可以在网站中留言,我将尽量在线上为你提供最满意的解答。书中的全部源代码都可以从华章公司网站(www.hzbook.com)或本书交流网站下载,我也会及时更新代码。本书为黑白印刷,关于更绚丽的彩色图片,读者运行源代码即可看到。如果你有什么宝贵意见,欢迎发送邮件至bsspirit@gmail.com,期待能够得到你真挚的反馈。

致谢

感谢我的团队,林伟林、林伟平、邓一硕,让我们因R语言走到一起。感谢机械工业出版社华章公司的编辑明永玲,帮助我审阅全部章节,引导我顺利完成书稿。感谢我的爸爸、妈妈和爱人,感谢你们对我工作上的支持和生活上的照顾!

谨以此书献给我最亲爱的家人以及众多R语言爱好者们!

张丹

2014年5月于中国北京 QEPGc3GPEQijZWhoDnHUYtITH2Q7xb5S7xTaCs08C88+VUaPUEP8GhID7FoyY9+w



第一部分
R基础

QEPGc3GPEQijZWhoDnHUYtITH2Q7xb5S7xTaCs08C88+VUaPUEP8GhID7FoyY9+w
点击中间区域
呼出菜单
上一章
目录
下一章
×