前 言
为什么要写这本书
本书是我写的“R的极客理想”系列丛书的第二本,主要介绍了R语言本身的核心技术、R语言的高级开发应用、R语言与其他学科及知识领域的跨学科综合应用。
其实,早在我的第一本书《R的极客理想——工具篇》中,就已经介绍了R语言的30多个工具包的使用方法,并以IT人的角度,告诉读者如何高效地使用第三方R包,把原有IT知识运用到R语言的学习过程中。但由于一本书的篇幅有限,《R的极客理想——工具篇》只讲了如何使用R语言,没有讲原理。
而本书将弥补这一遗憾,主要介绍R语言本身的核心技术:包括环境空间、面向对象、文件管理、数学计算、R包开发等主题。我希望通过这本书,可以让读者更深入地了解R语言、掌握R语言的核心技术、理解R语言的第三方包的特性,甚至可以自己动手开发出属于自己风格的优秀R包。说不定,不久的将来我会因用到你开发出来的R包而省力不少。
除此之外,本书的另一大亮点就是:R语言与其他学科知识在不同领域的跨学科综合应用。在书中,我将毫无保留地向读者展示:我是怎样将R语言与其他知识相结合,在不同领域让R大放异彩的。相信这部分内容会让很多读者眼前一亮,为之惊叹,原来R还可以这么玩儿!也希望这部分内容可以让大家有所启发,让各行业、各知识领域的朋友都可以接触R,运用R。时至今日,R语言已经不再是局限于科学家们使用的实验室语言,它已经具备了实际开发应用的能力,并且在挖掘数据价值、发现数据规律、创造数据财富等方面极具智慧和创造性!
如果把R语言比作一门武功,《R的极客理想——工具篇》就是兵器使用秘籍(比如什么“打狗棍法”啊、“独孤九剑”啊、“小李飞刀”啊),它可以帮助你在短时间内便捷、有效地提高工作效率,让你在R语言上的修为明显提高,但时间久了,你会因各种原因遇到自己的瓶颈,难以突破。
而本书则是武功的内功心法(比如什么《九阳真经》、《北冥神功》之类的,敬请对号入座,但别拿《葵花宝典》说事儿,谢谢),书中不仅介绍了R语言本身的核心技术,帮你打通任督二脉;而且着重讲述了R语言在实际使用过程中,如何与其他学科、领域结合运用,融会贯通,以无招胜有招,甚至自立门派成为一代宗师,这些都是有可能的!(咳咳,扯远了!)
在这里,我必须再次严肃地强调,本书不是R语言的入门书,零基础的朋友要先补充一些R语言的基础知识!本书包括R语言开发的高级内容,阅读本书,不但需要你有R语言使用经验,而且需要你具备一定的计算机背景知识和使用经验,只有这样,你才能更深刻地体会并运用书中的经验总结。
目 录
第一部分 R的计算和算法应用
第1章 R语言知识体系和数学函数
1.1 R语言知识体系概览
1.2 R语言中的数学计算
1.3 概率基础和R语言
1.4 常用连续型分布介绍及R语言实现
1.5 R语言的导数计算 **
第2章 R语言的算法实现
**2.1 用R重写Mahout协同过滤算法
2.2 PageRank算法R语言实现
2.3 二条均线打天下
2.4 R语言中的遗传算法 **