• Posts tagged "onbook"

Blog Archives

图书出版《R的极客理想-高级开发篇》

R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大。

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已不仅仅是统计领域,教育,银行,电商,互联网….都在使用R语言。

要成为有理想的极客,我们不能停留在语法上,要掌握牢固的数学,概率,统计知识,同时还要有创新精神,把R语言发挥到各个领域。让我们一起动起来吧,开始R的极客理想。

关于作者:

  • 张丹(Conan), 程序员Java,R,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/r-book2/

book2-title

前言

终于等到R的极客理想系列,第二本《R的极客理想-高级开发篇》一书出版了。写书不仅是一个漫长的过程,更是知识的浓缩和再精华的过程;写书不仅把自己会的东西记录下来,还要站在读者的角度,让其他人也能看得懂;写书不同于写博客,不仅要保证超过5遍以上的审阅,还要遵守出版的各种规则,包括格式、文字、目录、图片,公式,代码,引用….

写书不是一件容易的事情,但我做到了。希望更多的朋友都能静心下来,写本自己的书。尊重知识,就是尊重你的未来。

目录

  1. 写书体验
  2. 为什么要写这本书
  3. 如何阅读本书
  4. 致谢

1. 写书体验

写一本书不难,但用心写一本书确实也不容易。本书是R的极客理想系列的第二本书,有了第一本书的经验,没有在排版和布局上面花太多时间。但是各种的小问题,也让本书的出版变得有些漫长。本书中涉及到一些基础学科的知识,虽然我自己能明白,但是要保证严谨的表达,对我确实是一个不小的难度。另外,书中有一节用到了中国地图进行天气的可视化,由于地图是R直接画的,没有通过测绘局审核,最后被要求只能把所有关于中国地图的图片去掉,也是很无奈的事情。等写下本书的时候,一定要提前注意这些细节。

本书中的文章有讲原理的、有讲实战的、也有讲跨学科,有些文章配有视频,可以让读者更加易于理解,本来设计了买书送视频红包,但由于淘宝视频的一些规则,又让这个红包计划搁浅。

图书介绍的网站http://onbook.me/book,介绍了本书的基本情况,包括序、前方、目录、勘误、代码、试读、封面、交流等几个方面内容,读者有任何问题,都可以在网站中留言,并得到我的回复。同时,可以加QQ群:383275651,和更多的网友进行交流。网站还有视频专区(http://onbook.me/video),提供我录制的各种视频课程,包括 R, Nodejs, Hadoop, 金融量化投资 等,视频收入仅用于网站的运营成本。

最后附上购买链接,各大网站都能买到,建议先去比比价:互动出版社京东当当亚马逊

2. 为什么要写这本书

本书是我写的《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语言的真实记录,以R语言的高级开发为主,其中还涉及到计算机、统计、数学、金融四个学科的知识。

本书的核心内容包括2个方面:一方面是R的高级编程,另一方面是跨界知识的综合运用。对于R的高级编程,本书详细总结了R语言的环境空间的定义和使用,文件系统管理,最新版本R3.1.1的新特性,让你体会到R语言的底层设计;全面的介绍了R语言中四种面向对象体系的程序设计和使用,通过面向对象的程序设计,让R语言有能力做出符合现实世界的复杂应用;介绍完整的R包开发流程,并提供每日中国天气的应用案例和游戏开发的案例,帮助读者创建自己的R包,打开R语言产品化的思路。对于跨界知识的综合运用,R语言不仅可以非常方便地进行那些让人头疼的数学计算,不论是初等数学或者高等数学,概率或者统计都是非常轻松、方便的,数学变得从此不再神秘莫测、遥不可及。用R语言还可以创建各种的模型,书中算法案例包括协同过滤算法模型,基于矩阵计算的PageRank模型,金融的交易策略模型,和遗传算法的使用。几行代码几钟,就可以让我们头脑中的想法,变成可以运行算法原型了。

另外,R虽然不是适合开发游戏,但如果真用R语言做个游戏2048,也就是200行代码,还有哪种语言可以匹敌呢。说到这里肯定有人问,“你为什么要用R做游戏啊?”“为什么不用Java做啊?”“我不用R做用Java做不是也一样么?”其实,我就是想用这种方式向大家展示R语言简洁的风格、自由的思想、极富想象的创造力,希望用我这个“R极客”的玩耍心态,引发大家对R的无限想象! 最后,我们把模型产品化,发布一个属于自己的R包,让全世界人都能使用,是一件多么让人兴奋的事情。

在与各界R语言使用者的交流中,我发现,有编程背景的使用者,可以写出干净漂亮且运行高效的代码,但由于欠缺统计知识,对模型优化就只能束手无措、无可奈何了。而那些具备统计背景的使用者,虽然可以独立地完成一个模型的设计和优化,但对于如何产品化实施,就完全找到不办法了。

本书中介绍了多个场景案例,不仅从学术的角度完成了模型的设计,而且用计算机的方法,把产品进行实现。通过案例的学习,可以让不同学科背景的R语言使用者,站在其他人的角度,找到新的思维方法。这是本书中的又一大亮点!

对于大多数程序员来说,学习R语言比较轻松容易,但运用R语言却显得困难的多。R语言虽然没有像C/C++一样的复杂程序语法,也不用像Java一样宏观考虑全局架构,更没有像Javascript一样的灵活的使用。但是,R语言面向数据本身的编程思想,是完全有别于其他的编程语言的,这就使得很多程序员在使用R语言时虽然语法会了,但依旧不知道如何应用。

我认为,学习R语言是为了找到个性化的自己,定位自己,综合运用自身的知识进行跨学科的创新,而不是去复制别人的想法。让R语言的跨界运用,需要你要具备基础学科能力(初等数学,高等数学,线性代数,概率论,统计学) + 业务知识(金融,生物,互联网) + IT技术(R语法,R包,数据库,算法) 的结合,所以只有把自己的综合知识水平提升,你才真正地学好R语言。换句话说,一旦你学成了R语言,你将是不可被替代的。

在此,我不得不再次强调,本书不是入门图书,而是R语言的高级开发图书。本书不讲R的入门语法,也不介绍R语言第三方包的使用。但是,如果你已经具备了一定的R语言基础,想把自己的R语言模型产品化,那么我将告诉你如何提高程序的可靠性和可扩展性,以及如何发布属于自己的R包。

本书是R的极客理想系列图书的第二本,第三本《R的极客理想-量化投资篇》将介绍R语言在金融领域的应用,通过R语言构建交易模型,并实现自动化交易的过程,真正地让技术人员把自己的知识变成价值。

本书的使用环境涉包括Linux Ubuntu和Window7两种操作系统,在每一节中都有明确的标识,所有的程序都是在R语言3.1.1版本中测试通过。

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

3. 如何阅读本书

本书《R的极客理想-高级开发篇》的思维导图:

book2

本书的内容分为三个部分:

  • 第一部分是R的计算和算法应用(第1~2章),介绍了R语言的知识体系结构,R语言对基础学科的支持,通过基础学科实现各种算法。帮助读者快速了解R语言中数学计算方法,和自定义模型算法开发。
  • 第二部分是深入R语言程序开发(第3~4章) ,介绍了R语言内核相关的编程,包括环境空间的定义和使用,以及面方对象方法的程序设计和使用。帮助读者打通深入了解R语言的底层知识,用面向对象的方法设计复杂的程序结构。
  • 第三部分是开发自己的R包(第5~6章),介绍了R包开发的完整流程,并提供每日中国天气的应用案例,和游戏开发的案例。帮助读者创建自己的R包,打开R语言产品化的思路。

本书有很多综合运用的知识,在您阅读本书的时候,建议读者顺序阅读全部的章节。

4. 致谢

感谢机械工业出版社华章公司的编辑 明永玲(@明永玲编辑),帮助我审阅全部章节,引导我能顺利完成书稿。

感谢 刘政老师(@刘政-SAS ),刘思喆(@刘思喆), 陈堰平(@陈堰平), 王江浩博士(@王江浩CAS) ,4位好友为图书写的推荐,简而精,突出书中亮点。

感谢我的团队,林伟林、林伟平、邓一硕,让我们通过R语言走在了一起。

感谢我的家人,感谢你们对我工作上的支持和生活上的照顾!

转载请注明出处:
http://blog.fens.me/r-book2/

打赏作者

图书出版《R的极客理想-工具篇》

R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大。

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已不仅仅是统计领域,教育,银行,电商,互联网….都在使用R语言。

要成为有理想的极客,我们不能停留在语法上,要掌握牢固的数学,概率,统计知识,同时还要有创新精神,把R语言发挥到各个领域。让我们一起动起来吧,开始R的极客理想。

关于作者:

  • 张丹(Conan), 程序员Java,R,PHP,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/r-book1/

r-book1

前言

终于等到《R的极客理想-工具篇》一书出版了,写书不仅是一个漫长的过程,更是知识的浓缩和再精华的过程;写书不仅把自己会的东西记录下来,还要站在读者的角度,让其他人也能看得懂;写书不同于写博客,不仅要保证超过5遍以上的审阅,还要遵守出版的各种规则,包括格式、文字、目录、图片,公式,代码,引用….

写书不是一件容易的事情,但我做到了。希望更多的朋友都能静心下来,写本自己的书。尊重知识,就是尊重你的未来。

目录

  1. 写书体验
  2. 为什么要写这本书
  3. 如何阅读本书
  4. 致谢

1. 写书体验

写一本书不难,但用心写一本书确实也不容易。一本书从选题立项开始,就有了各种规则和约束条件,选题要求市面上没有的题材;设立图书目录作为写书的大纲;定义图书的适用人群,太小众的话要是收不回印刷成本,就要作者自己掏钱出书了;内容要有质、有量、有连贯性,不能东一句西一句,更不能神侃(我是最不擅长神侃的);对于转载和引用必须包括原文出处,并得到原文作者的同意;所有图片和公式都要有编号;代码整体要对齐,代码的注释写在代码行之后;完成后提交原稿,编辑审核打回来再改,反复3次,然后校对3次 就可以大功告成了。

写完第一稿之后,我几乎花了一个月的时间来调整格式,当时都快要崩溃了。在各种规则的制约之下,才有了这本书《R的极客理想-工具篇》,我自己都不禁感叹自己的毅力。有了第一次经验,我相信第二本书就不会再这么折磨了!(其实第二本书,已经在收尾了)

我想做一负责的作者,为了帮助大家解决图书使用过程中的问题,我特别新建了一个网站, 尚书,http://onbook.me,来帮助读者答疑解惑。中文名“尚书”来源于网站域名onbook,跟图书有关,又是一个专有名词,有助于让大家记住。

网站有图书专区(http://onbook.me/book),介绍了本书的基本情况,包括序、前方、目录、勘误、代码、试读、封面、交流等几个方面内容,读者有任何问题,都可以在网站中留言,并得到我的回复。同时,网站还有视频专区(http://onbook.me/video),提供我录制的各种视频课程,包括 R, Nodejs, Hadoop, 金融量化投资 等,视频定价在0-50元之间,视频收入仅用于网站的运营成本。

买书的读者可以免费获得一张10元的视频红包,通过网站领取!

最后附上购买链接,各大网站都能买到,建议先去比比价:互动出版社京东当当亚马逊

2. 为什么要写这本书

想了半天,还是本书的前言最符合!

我是一名程序员,前后做了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和Window7两种操作系统,R语言包的 2.15.3和3.0.1两个版本,在每一节中都有明确的标识。

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

3. 如何阅读本书

本书《R的极客理想-工具篇》的思维导图:

book-r1-structure

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

  • 第一部分是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语言,请按顺序阅读全部的章节。

4. 致谢

感谢机械工业出版社华章公司的编辑 明永玲(@明永玲编辑),帮助我审阅全部章节,引导我能顺利完成书稿。

感谢 谢益辉(@谢益辉),李舰(@lijian001) 2位R圈大牛为图书写序言部分,把本书推向了新的高度!

感谢 刘思喆(@刘思喆), 陈堰平(@陈堰平), 黄志洪(@tigerfish_皓岚),谢益辉(@谢益辉) ,4位好友为图书写的推荐,简而精,突出书中亮点。

感谢我的团队,林伟林、林伟平、邓一硕,让我们通过R语言走在了一起。

感谢我的家人,感谢你们对我工作上的支持和生活上的照顾!

转载请注明出处:
http://blog.fens.me/r-book1/

打赏作者