• Posts tagged "极客"

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-book3/

前言

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

写书不是一件容易的事情,这是R的极客理想系列最后一本图书。希望更多的朋友都能静心下来,写本自己的书。尊重知识,就是尊重你的未来。

目录

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

1. 写书体验

本书是我写的“R的极客理想”系列丛书的第三本,是R语言与金融量化投资领域结合的一本书,本书的主要写作目标就是把R语言的技术和实际的金融量化案例结合起来,让读者能切身的体会把知识变成真正的生产力。

本书撰写花了很长的时间才得以完成,因本书涉猎广泛,包括了大量地跨学科的知识,用通俗易懂的语言描述出来,并让读者更容易地理解并非易事,以致于我自己在写作过程中,有过数次想放弃的冲动。这本书最终完成,都源于每次看到读者在我博客中的留言,看到大家的对于知识的期待和对于我本人的鼓励,这些都是我把这项艰苦的事业完成,源源不断的动力和鞭策。有的同学开玩笑地留言说,“集齐全套图书,就可以召唤神龙了”。我真的非常感谢读者,对于图书的高度肯定和对我不断的支持。

在本书的写作过程中,我经历了一次创业的洗礼,体验了人生的大起和大落,这段特殊的经历也让我有了新目标和方向。每当我回忆整个的创业过程,都觉得自己太年轻了。光有满腔的热情和技术,只能让我把事情做起来,但是经验和阅历的不足,不能支撑我成为一个成功的创业者。天时,地利,人和,缺一不可。

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

前两本上市后不仅再国内取得了不俗的成绩,获得了良好的口碑,而且英文版被美国知名的出版集团CRC引进,在北美市场也获得了读者的热捧,本书的英文版和繁体版随后也会在美国和中国台湾发行。

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

当然,如果你需要一本签名的书,可以联系我订购,但是成本有点高,图书原价+货到付款;也可以带着书,到各种我参加的分享会来找我,我每年有不少的分享活动

2. 为什么要写这本书

本书撰写的一个主要思路是从IT人的角度,通过技术来切入金融市场,进行量化投资。发挥IT人的专注学习、乐于分享的精神,借助互联网快速传播知识,打破传统的金融壁垒。发挥“极客”的创造力,让知识变成生产力,让更多的有理想的IT人,能够有机会进入金融行业,推动金融行业的改革和创新。

但这不是一本简单易懂的书,因为量化投资是跨学科的领域。你需要有多学科的知识储备,才能胜任量化投资的工作。而本书所涉及的相关的内容,可能需要多本书籍的相关知识支撑才能描述完成。

阅读本书,不但需要你有R语言的使用经验,更需要有对金融市场知识的理解。本书主要介绍了三部分内容,涵盖金融市场,统计知识和IT技术。

  • 金融市场,包括了中国的金融二级市场环境的介绍、交易工具的使用、金融产品的交易规则、国内机构投研思路、策略和回测、基金会计等金融行业的基础知识。
  • 统计知识,包括了时间序列、一元线性回归、多元线性回归、自回归等统计和计量的模型算法。
  • IT技术,就是R语言相关的编程技术,金融量化程序包的使用,金融数据处理,金融数据模型的构建,量化策略的实现思路,R语言代码的编写等。

同时,本书使用了很多的真实案例,以中国实际的金融市场为背景,你会感觉到市场所带来的波动,国家宏观政策对于市场的影响,散户思维与专业投资者的差异,量化思路与主观思路对于市场的不同理解。

本书是我在实际投资研究中的总结,从金融理论模型,到市场特征检验,再到数学公式,R语言建模,再到历史数据回测,会计资产核算,最后进行实盘交易。通过R语言,可以很简单地实现我们脑子中的一个投资想法。类似的投资想法其实谁都有,利用IT人的技术优势,可以真正地与实际操作结合起来。

本书所涉及的金融产品,包括了股票、期货、债券、基金、现金管理等,跨越多个金融市场多种金融标的物。交易模型和交易策略,有基于市场技术指标的量价策略,有基于统计理论的套利策略,有基于金融产品规则的事件性策略;有针对全市场扫描的选股策略,也有高频交易的择时策略。相信本书,会另你感受到金融市场的魅力,以及技术优势能给我们带来的价值。

要想深入理解本书的每一篇的内容,可能你需要像我一样,不仅有技术的积累,还要真正地去金融市场做做交易,多和行业内的人进行沟通,不断地学习和思考。

让IT技术,提高金融的效率。

传统的交易员,都是凭借多年的交易训练,人工的每日盯盘,观察市场的变化。一个好的交易员,可以同时观测几个金融市场的几十个交易品种。随着金融产品的发展,股票市场已经达到3000多只股票,债券市场达到3000多只债券,公墓基金市场达到了6000多只基金,还有多种的金融衍生品,大量金融产品的发展,已经不是能依靠个人之力去消化和分析了。

通过计算机在全市场进行扫面,发现不合理的定价和交易机会,可以极大的提高交易员效率。一种理想化的设计,让程序来为我们交易赚钱,我们就可以去做自己喜欢的事情了。让技术变现,解放我们的生活。

本书中的原创观点和方法,都是基于理论研究在实践中的经验所得。实际上,长久以来我也在找这样的一本书,能够把书本上的理论模型与实际业务相结合,但并没有找到,或者并没有符合中国市场的实际案例应用,所以只能自己动手写一本。本书也有点像是自己的笔记,我也会经常翻翻,让自己的头脑始终保持清晰思路。

3. 读者对象

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

  • R语言的学习者和使用者(必读)
  • 金融宽客(Quant)(必读)
  • 计算机背景的金融量化爱好者(必读)
  • 数据分析背景的金融方向数据科学家(必读)
  • 统计背景的金融科研工作者
  • 金融行业从业者,券商研究员、分析师、基金经理
  • 回归中国市场的海外金融量化从业人员
  • 金融、统计、数据科学专业的学生

4. 如何阅读本书

本书分为三个部分,六个章节,每一个章节都是一块大的知识体系。

  • 第一部分是金融市场与金融理论(第1~2章),从了解金融开始,建立对金融认识的基本思路。
  • 第二部分是R语言数据处理与高性能计算(第3~4章),详细介绍了R语言进行数据处理的必备工具和使用方法。
  • 第三部分是金融策略实战(第5~6章),结合R语言技术和金融知识,解决金融量化领域的实际问题。

第一章,金融市场概述,为全书开篇,主要介绍了如何R语言做量化投资的思路和方法。量化投资是跨学科知识结合的一个方向,包括了R语言的技术层面的知识,基础学科的应用和金融市场的情况。R语言社区提供丰富的金融工具包,可以让我们快速构建量化投资的体系结构。本章内容以我个人的从业体会,从数据的角度观察中国的金融市场,发现机会,找到风口。

第二章,金融理论,主要介绍了金融经典理论模型和R语言的实现方法。用R语言深度解读,投资学理论和统计学理论在实际金融市场中的应用,包括4个基础理论模型,资本资产定价模型、一元回归性线模型、多元回归线性模型、自回归模型,希望这些基础理论模型可以帮助读者,找到理解金融市场的方法。

第三章,R语言数据处理。以R语言数据处理技术为核心,介绍了如何用R语言进行各种类型数据的处理方法,包括标准的结构化数据集的处理和字符数据集的处理,同时深入浅出地介绍了R语言数据处理方式,包括循环、分组、合并、管道、分词等的常用数据处理操作。

第四章,R语言高性能计算。R语言的性能问题一直是被大家所关心的,R本身有很多解决方案来提高性能,但由于R语言内核的单线程设计,让R本身的解决方案有飞跃式的性能提升是困难的。本章将介绍通过3种外部技术,来让R语言的性能达到生产环境的要求。

第五章,债券和回购。金融市场很大,不仅有股票,更大市场是债券。本章重点介绍了如何用R语言去进行债券分析,做一些债券投资和套利。低风险的债券投资,说不定是我们投资理财更好的选择。

第六章,量化投资策略案例。本章全部是综合的案例,从金融市场开始研究,到数学公式,R语言建模,历史数据回测,最后找到投资机会,是一套完整的从理论到实践的学习方法。祝大家在金融市场中玩的开心!

本书有很多综合运用的知识,在您阅读本书的时候,建议读者顺序阅读全部的章节。本书的一些技术实现,用到了我前两本书介绍的知识点,《R的极客理想-高级开发篇》和《R的极客理想-工具篇》,建议读者一起阅读。

5. 致谢

感谢在我最失意的时候,帮助我度过难关的朋友,北京千庄智金科技有限责任公司总经理张颂,量子金服CEO刘亚非,民生银行同事许斌。 感谢所有R语言的读者,以及社区的各位朋友,让我们通过R语言认识,并一起把知识进行传播。 感谢天善智能社区CEO梁勇,为本书提供赞助和推广。同时,感谢台湾銓智金融科技合伙人陈琪龙博士,复旦大学黄达教授,为本书写推荐序。感谢机械工业出版社华章公司的主编 杨福川 和编辑 李艺,帮助我审阅全部章节,让本书得以出版。

特别感谢我的爱人一直在鼓励我,最终让我走出了失意的阴影。感谢我的爸爸、妈妈,感谢你们对我工作上的支持和生活上的照顾!小宝宝,也在今年出生。

谨以此书献给我最亲爱的家人以及众多R语言爱好者们!祝大家阅读愉快,欢迎交流。

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

打赏作者

图书出版《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/

打赏作者

开发自己的R包sayHello

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-build-package/

r-package

前言
R是一个世界范围开发者共同协作的产物,至2013年2月共计近5000个包可在互联网上自由下载。现在作为R的使用者,有朝一日也可以成为R的开发者,把我们自己的知识做成R包分享给世界。

今天我们简单介绍如何开发自己R包。

目录

  1. 系统环境
  2. vi中制作R包
  3. RStudio中制作R包

1. 系统环境

操作系统:Linux Ubuntu 12.04.2 LTS 64bit
R语言版本:R 3.0.1


~ uname -a
Linux conan-deskop 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

~ cat /etc/issue
Ubuntu 12.04.2 LTS \n \l

~ R --version
R version 3.0.1 (2013-05-16) -- "Good Sport"
Copyright (C) 2013 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.

2. vi中制作R包

创建目录:/home/conan/R/demo


~ mkdir /home/conan/R/demo
~ cd /home/conan/R/demo

新建R脚本sayHello.R


~ vi sayHello.R
sayHello<-function(name){
    print(paste("Hello",name))
}

自定义一个sayHello的函数,将作为自定义包的第一个函数。

启动R程序


~ R

#清空变量设置工作目录
rm(list=ls())
setwd("/home/conan/R/demo")

#通过sayHello的脚本生成开发包的骨架
package.skeleton(name="sayHello",code_files="/home/conan/R/demo/sayHello.R")
Creating directories ...
Creating DESCRIPTION ...
Creating NAMESPACE ...
Creating Read-and-delete-me ...
Copying code files ...
Making help files ...
Done.
Further steps are described in './sayHello/Read-and-delete-me'.

#退出R的客户端
q()

在当前目录生成sayHello目录


~ ls -l
drwxrwxr-x 4 conan conan 4096  8月  1 15:07 sayHello
-rw-rw-r-- 1 conan conan   59  8月  1 15:04 sayHello.R

~ ls -l sayHello
-rw-rw-r-- 1 conan conan  281  8月  1 15:07 DESCRIPTION
drwxrwxr-x 2 conan conan 4096  8月  1 15:07 man
-rw-rw-r-- 1 conan conan   31  8月  1 15:07 NAMESPACE
drwxrwxr-x 2 conan conan 4096  8月  1 15:07 R
-rw-rw-r-- 1 conan conan  420  8月  1 15:07 Read-and-delete-me

~ ls -l sayHello/man
-rw-rw-r-- 1 conan conan 1043  8月  1 15:07 sayHello-package.Rd
-rw-rw-r-- 1 conan conan 1278  8月  1 15:07 sayHello.Rd

~ ls -l sayHello/R
-rw-rw-r-- 1 conan conan 59  8月  1 15:07 sayHello.R

文件及目录解释:

  • DESCRIPTION文件: 包描述文件
  • NAMESPACE文件: 包的命名空间文件
  • Read-and-delete-me文件: 说明文件,可以删除
  • man目录: 存放函数的说明文件的目录
  • R目录:存放源文件的目录
  • man/sayHello.Rd: sayHello函数的说明文件,latex语法,用来生成PDF文档
  • man/sayHello-package.Rd: sayHello包的说明文件,可以删除

编辑DESCRIPTION文件:

~ vi sayHello/DESCRIPTION
Package: sayHello
Type: Package
Title: R package demo for sayHello
LazyLoad: yes
Author: Dan Zhang
Maintainer: Dan Zhang
Description: This package provides a package demo
License: GPL
Version: 1.0
Date: 2013-07-31
Depends: R (>= 3.0.1)

编辑NAMESPACE文件:

~ vi sayHello/NAMESPACE
exportPattern("^[[:alpha:]]+")

编辑sayHello.Rd文件:

~ vi sayHello/man/sayHello.Rd
\name{sayHello}
\alias{sayHello}
\title{a sayHello function demo}
\description{
a sayHello function demo
}
\usage{
sayHello(name)
}
\arguments{
  \item{name}{a word}
}
\details{
nothing
}
\value{
no return
}
\references{
nothing
}
\author{
Dan Zhang
}
\note{
nothing
}
\seealso{
nothing
}
\examples{
sayHello("world")
}
\keyword{ sayHello }

删除文件:


~ rm sayHello/Read-and-delete-me
~ rm sayHello/man/sayHello-package.Rd

打包sayHello


~ R CMD build sayHello
* checking for file ‘sayHello/DESCRIPTION’ ... OK
* preparing ‘sayHello’:
* checking DESCRIPTION meta-information ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
* building ‘sayHello_1.0.tar.gz’

~ ls -l
drwxrwxr-x 4 conan conan 4096  8月  1 15:22 sayHello
-rw-r--r-- 1 conan conan  663  8月  1 15:24 sayHello_1.0.tar.gz
-rw-rw-r-- 1 conan conan   59  8月  1 15:04 sayHello.R

本地安装sayHello


~ R CMD INSTALL sayHello_1.0.tar.gz
* installing to library ‘/home/conan/R/x86_64-pc-linux-gnu-library/3.0’
* installing *source* package ‘sayHello’ ...
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (sayHello)

~ ls /home/conan/R/x86_64-pc-linux-gnu-library/3.0
bitops  digest  manipulate  rstudio  sayHello  XML

sayHello包,已经在当前账号下进行安装

使用sayHello函数


~ R

library(sayHello)
sayHello("Conan")
[1] "Hello Conan"

#查看sayHello文档
?sayHello

sayHello               package:sayHello                R Documentation

a sayHello function demo

Description:
     a sayHello function demo
Usage:
     sayHello(name)
Arguments:
    name: a word
Details:
     nothing
Value:
     no return
Note:
     nothing
Author(s):
     Dan Zhang
References:
     nothing

我们包已经成功制作完成!并在本地进行安装和使用!!

检查R包
如果要提交R包和CRAN,必须要执行check检查。如果有任何的error和warning都将不被通过。

退出R的客户端,回到命令行

先安装latex的依赖包(500mb+)


~ sudo apt-get install texlive
~ sudo apt-get install texlive-xetex
~ sudo apt-get install texlive-latex-base
~ sudo apt-get install texlive-fonts-extra 
~ sudo apt-get install texlive-latex-recommended
~ sudo apt-get install texlive-fonts-recommended

执行check


~ R CMD check sayHello_1.0.tar.gz

* using log directory ‘/home/conan/R/demo/sayHello.Rcheck’
* using R version 3.0.1 (2013-05-16)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file ‘sayHello/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘sayHello’ version ‘1.0’
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package ‘sayHello’ can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking for unstated dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking examples ... OK
* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
* checking PDF version of manual without hyperrefs or index ... OK

WARNING: There was 1 warning.
See
  ‘/home/conan/R/demo/sayHello.Rcheck/00check.log’
for details.

发现有一个警告,checking PDF version of manual ... WARNING。是latex生成pdf错误。

查检警告的debug日志


~ R CMD Rd2pdf sayHello_1.0.tar.gz
Converting Rd files to LaTeX ...
  sayHello_1.0.tar.gz
Warning in readLines(f) :
  incomplete final line found on 'sayHello_1.0.tar.gz'
Warning in parse_Rd("sayHello_1.0.tar.gz", encoding = "unknown", fragment = FALSE,  :
  sayHello_1.0.tar.gz:16: unexpected '}'
Warning: sayHello_1.0.tar.gz:1: All text must be in a section
Warning: sayHello_1.0.tar.gz:2: All text must be in a section
Warning: sayHello_1.0.tar.gz:3: All text must be in a section
Warning: sayHello_1.0.tar.gz:4: All text must be in a section
Warning: sayHello_1.0.tar.gz:5: All text must be in a section
Warning: sayHello_1.0.tar.gz:6: All text must be in a section
Warning: sayHello_1.0.tar.gz:7: All text must be in a section
Warning: sayHello_1.0.tar.gz:8: All text must be in a section
Warning: sayHello_1.0.tar.gz:9: All text must be in a section
Warning: sayHello_1.0.tar.gz:10: All text must be in a section
Warning: sayHello_1.0.tar.gz:11: All text must be in a section
Warning: sayHello_1.0.tar.gz:12: All text must be in a section
Warning: sayHello_1.0.tar.gz:15: All text must be in a section
Error : sayHello_1.0.tar.gz: Sections \title, and \name must exist and be unique in Rd files

求助:
Error : sayHello_1.0.tar.gz: Sections \title, and \name must exist and be unique in Rd files
这个问题我检查了好多次始终没有解决。请求帮助!!

问题解决:安装完整包

sudo apt-get install texlive-full

上传R包
当解决了上面的WARN就可以上传了。。。(待续)

卸载R包


remove.packages("sayHello")
Removing package from ‘/home/conan/R/x86_64-pc-linux-gnu-library/3.0’

~ ls /home/conan/R/x86_64-pc-linux-gnu-library/3.0
bitops  digest  manipulate  rstudio  XML

3. RStudio中制作R包

RStudio Server的安装及配置,请参考:多人在线协作R开发RStudio Server

RStudio已经为我们准备了一个有界面的环境,方便我们制作R包。

  1. 创建一个工程sayHello
  2. 编辑DESCRIPTION
  3. 创建sayHello.R的脚本
  4. 编辑sayHello.Rd的文档

1). 创建一个工程sayHello
project1

project2

2). 编辑rstudio/sayHello/DESCRIPTION

Package: sayHello
Type: Package
Title: R package demo for sayHell
LazyLoad: yes
Author: Dan Zhang
Maintainer: Dan Zhang
Description: This package provides a package demo
License: GPL
Version: 1.0
Date: 2013-07-31
Depends: R (>= 3.0.1)

3). 编辑rstudio/sayHello/R/sayHello.R的脚本

sayHello<-function(name){
  print(paste("Hi",name))
}

4). 编辑rstudio/sayHello/man/sayHello.Rd的文档

\name{sayHello}
\alias{sayHello}
\title{a sayHello function demo}
\description{
a sayHello function demo
}
\usage{
sayHello(name)
}
\arguments{
  \item{name}{a word}
}
\details{
nothing
}
\value{
no return
}
\references{
nothing
}
\author{
Dan Zhang
}
\note{
nothing
}
\seealso{
nothing
}
\examples{
sayHello("world")
}
\keyword{ sayHello }

5). 执行build和reload
project3

project4

6). 执行check
project5

在RStudio中可以更方便的进行R的开包,打包,检查等的过程。RStudio就是R的神器!

虽然还没有发布自己的R包,不过很快了!!有此想法已经多时了!!每一天加油!

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

打赏作者

多人在线协作R开发RStudio Server

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-rstudio-server/

rstudio-title

前言

RStudio是R语言开发中的利器,是一个IDE集成环境。RStudio Server版本提供了web的功能,可以安装远程计算机,通过web进行访问,支持多用户。如此神器,快来动手试一下吧。

目录

  • 系统环境
  • RStudio Server安装
  • RStudio Server使用
  • RStudio Server多人协作

1. 系统环境

操作系统: Linux Ubuntu 64bit 12.04.2 LTS
R语言: 3.0.1

~ uname -a
Linux conan-deskop 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

~ cat /etc/issue
Ubuntu 12.04.2 LTS \n \l

RStudio Server官方介绍:http://www.rstudio.com/ide/download/server

安装R语言


~ sudo apt-get install r-base

#R版本 3.0.1
~ R --version
R version 3.0.1 (2013-05-16) -- "Good Sport"
Copyright (C) 2013 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.

2. RStudio Server安装

下载并安装


~ sudo apt-get install gdebi-core
~ sudo apt-get install libapparmor1  # Required only for Ubuntu, not Debian
~ wget http://download2.rstudio.org/rstudio-server-0.97.551-amd64.deb
~ sudo gdebi rstudio-server-0.97.551-amd64.deb

查看rstudio-server


~ ps -aux|grep rstudio-server
998       2914  0.0  0.1 192884  2568 ?        Ssl  10:40   0:00 /usr/lib/rstudio-server/bin/rserver

rstudio-server的服务已启动, 8787端口被打开。

3. RStudio Server使用

通过浏览器,我们访问RStudio Server: http://192.168.1.13:8787

rstudio-login

通过Linux系统用户登陆: conan:conan111

rstudio-web

太帅了是不是,web版的RStudio!!

系统配置和系统管理

其他操作和单机版的RStudio一样。

4. RStudio Server多人协作

1). 增加新用户


~ sudo groupadd hadoop 
~ sudo useradd hadoop -g hadoop;
~ sudo passwd hadoop 
~ sudo adduser hadoop sudo
~ sudo mkdir /home/hadoop 
~ sudo chown -R hadoop:hadoop /home/hadoop

#测试账号设置成功
~ ssh hadoop@localhost
~ bash
~ pwd
/home/hadoop

新打开浏览器窗口通过 hadoop账号登陆
rstudio-web2

2). Git代码共享
安装git

sudo apt-get install git

#生成rsa密钥对
ssh-keygen -t rsa

#查看公钥并
cat /home/conan/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMmnFyZe2RHpXaGmENdH9kSyDyVzRas4GtRwMNx+qQ4QsB8xVTrIbFayG2ilt+P8UUkVYO0qtUJIaLRjGy/SvQzzL7JKX12+VyYoKTfKvZZnANJ414d6oZpbDwsC0Z7JARcWsFyTW1KxOMyesmzNNdB+F3bYN9sYNiTkOeVNVYmEQ8aXywn4kcljBhVpT8PbuHl5eadSLt5zpN6bcX7tlquuTlRpLi1e4K+8jQo67H54FuDyrPLUYtVaiTNT/xWN6IU+DQ9CbfykJ0hrfDU1d1LiLQ4K2Fdg+vcKtB7Wxez2wKjsxb4Cb8TLSbXdIKEwSOFooINw25g/Aamv/nVvW1 conan@conan-deskop

把公钥并上传到github
创建一个新的Project: rstudio-demo
https://github.com/bsspirit/rstudio-demo

绑定本定项目和rstudio-demo


~ cd /home/conan/R/github
~ git init
~ git add .
~ git commit -m 'first comment'
~ git remote add origin git@github.com:bsspirit/rstudio-demo.git
~ git push -u origin master

打开RStudio设置到/home/conan/R/github目录,tools–>version control –> project setup
rstudio-git

在RStudio中修改sayHello.r的代码


sayHello<-function(name){
  print(paste("hello",name))
}

sayHello("Conan")
sayHello("World")

提交:点击tools–>version control–> commit
rstudio-git2

上传到github:点击tools–>version control–> push
rstudio-git3

RStudio有如此强大的功能,极大的降低了编程的门槛。还没有用过的同学,赶紧去体验一把吧。极客的感觉!

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

打赏作者