新書推薦:
《
超越百岁看这本就够了
》
售價:HK$
55.8
《
亚洲戏剧史·南亚卷
》
售價:HK$
143.4
《
中国历代竹器图谱与数字活化
》
售價:HK$
557.8
《
EDA技术与设计(第2版)
》
售價:HK$
85.0
《
揉碎浪漫(全两册)
》
售價:HK$
70.3
《
古籍善本
》
售價:HK$
537.6
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:HK$
87.4
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
143.4
編輯推薦:
有许多优秀的关于可视化、数据科学和包开发方面的R资源。有成百上千零散的简介、网页和论坛讲解如何在特定的领域中使用R。直到现在,很少有人编写关于如何简单地使R更高效地工作方面的内容。这本实践经验的指南将教初学者和经验丰富的R使用者如何编写高效的R代码。 借助多年教授R课程的经验,本书作者提供了从优化安装RStudio到借助C的优势的广泛范围的实践建议,这使得本书成为任何R使用者书架的有益补充。广泛背景的学者、商业用户和程序员都将受益于本书的指导。
內容簡介:
关于设置R编程环境的建议。探索一般编程概念和R的编码技术。理解高效R工作流的组成部分。学习在R中如何高效的读写数据。深入探讨清理原始数据(数据木匠)的重要技巧。使用性能分析、标准技巧和其他方法优化你的代码。确定你用于R计算的硬件性能。*化R协作编程的好处。促使你从R初学者往R程序员转变。
關於作者:
Colin Gillespie是英国纽卡斯尔大学的高级讲师(副教授)。他的研究领域是高性能统计计算与贝叶斯统计。他常被Jumping Rivers聘为顾问,自2005年开始讲授R语言。Robin Lovelace是利兹学院的运输研究(ITS)与数据分析(LIDA)的研究员。Robin几年来使用R语言进行学术研究,并为各层次学生讲述了大量的R课程。Robin在多个应用项目中使用R。
目錄 :
目录前言1第 1 章 概述7软件要求7读者对象和如何使用本书8什么是效率9R 语言的高效性10为何需要高效?12通用的效率技巧13基准测试与性能测试15图书资源20参考文献20第 2 章 高效安装22软件要求23高效 R 配置的 5 个高级技巧23操作系统23R 版本26R 启动30RStudio41BLAS 和其他 R 解释器51参考文献54第 3 章 高效编程55软件要求(配置)55高效编程 5 个技巧55一般性建议56与用户交互61因子(Factors)64Apply 函数族66缓存变量70字节编译73参考文献76第 4 章 高效工作流77前提条件77高效工作流的 5 条高级技巧77项目规划类型学78项目规划与管理80包的选择84发布89参考文献93第 5 章 高效输入 输出94软件配置95关于数据 IO 的 5 条高级技巧95使用 rio 的通用数据导入95纯文本格式97二进制文件格式103从因特网获取数据106访问包中的数据107参考文献108第 6 章 高效数据木匠109软件配置110高效数据木匠的 5 条高级技巧110高效的 tibble 数据框110使用 tidyr 与正则表达式整理数据112使用 dplyr 高效处理数据118使用数据库130使用 data.table 处理数据134参考文献137第 7 章 高效优化138软件配置139高效优化的 5 条高级技巧139代码分析139例子:模仿 Monopoly141高效的基础 R143例子:优化 move_square 函数150并行计算151Rcpp154参考文献164第 8 章 高效硬件165软件配置165高效硬件的 5 条高级技巧165背景知识:什么是字节?166随机存取存储器167硬盘驱动器 : HDD 与 SSD170操作系统:32 位或 64 位171中央处理器172第 9 章 高效协作175软件配置176编码风格176版本控制182代码审查186参考文献187第 10 章 高效学习188软件配置188高效学习的高级 5 条技巧188使用 R 的内部帮助189在线资源196提出问题198深入学习199传播知识201参考文献201附录 A 依赖包203附录 B 参考文献205
內容試閱 :
前言本书可使你的 R 编程工作事半功倍,它是关于计算效率和编程效率的。现在 有着大量优秀 R 语言资源,例如可视化(如 Chang 2012)、数据科学(如 Grolemund 与 Wichham 2016)以及包开发(如 Wickham 2015)。另外还有 大量的关于 R 语言在特定领域的使用资源,包括贝叶斯统计、机器学习和地 理信息系统。然而,关于如何轻松高效地应用 R 语言的资料非常稀缺。有关 技巧、注意事项和数十年的该主题知识沉淀在大量网页、Email 讨论和论坛中 广泛流传着,但这种情况使 R 用户更难理解如何编写高效 R 代码。在教学过程中,我们发现该状况同时存在于初学者和老手中。不管是理解避 免循环应用 R 的向量对象和如何设置你的 .Rprofile 和 .Renviron 文件的问题, 还是驾驭 R 的优秀接口提升性能,效率的概念是关键的。本书的目标是从技巧、 警告、编程诀窍中为 R 程序员提取出长久有效的单一、内聚的精华。本书内容来自于我们的学生的问题,各种培训中不同水平的、各行各业的学 生数年来不断咨询如何使他们的 R 更快。怎样将计算机科学的通用原则(例 如不要编写同一代码,即 DRY)应用到 R 语言的具体代码中。怎样使 R 代码 融入高效流程中,包括项目启动、协作开发及简评阶段?如何才能快速学习 使用新的包或者新函数?本书包含的 10 章内容解答了不止上述问题。每章从基本原理开始介绍,而后 逐步推进到高级内容,这样可适合不同水平的读者。然而更高级的话题(如 并行编程及 C)可能暂时对 R 新手无任何意义,本书是采用慢开头进而打 下扎实基础的讲述方式帮助读者走完 R 语言的糟糕的陡峭学习曲线。这样即使资深 R 用户也能从中找到先前隐藏的高明建议。在讲述这类资料时,我们 经常听到为何以前没有人告诉我可以这样做呢 ?高效编程不应看成可有可无的附属品,随着项目和数据集的增大 , 高效编程的 重要性也在增加。事实上,本书是在我教基于 R 的大数据课程过程中构思出 来的,而该课程是你要处理大量数据集以及保证代码高效的必修课。即使面 对小量数据情况,快速编写运行速度快的高效代码是成功代码的必备特征。 我们发现,高效编程的概念在所有 R 社区的分区中都是非常重要的。无论你 偶尔使用 R(例如,因为它的无与伦比的统计包),还是为了开发包或者正 在开发大型的合作项目(高效是至关重要的项目),代码高效均严重影响到 你的工作效率。最后,高效是一个事半功倍的话题。拿汽车作类比,你是想一满箱油(或者 充满电)开车驾驶 1000km,还是每 50km 就更换一辆老破旧的汽车呢?或者 你愿意选择一辆高效的汽车还是一辆自行车呢?同理,高效的 R 代码在各方 面均超越低效 R 代码:读、写、执行、分享及维护都更简单轻松。本书不可 能给出如何写出这样代码的所有答案,但它肯定提供了一些思想、实例代码 和技巧来帮助你的编程之旅有一个良好开端。排版约定本书使用下述排版约定。斜体(Italic)表示新术语、URL、电子邮件地址、文件名和文件扩展名。 黑体(Bold) 表示 R 包名。 等宽字体(Constant width) 表示程序清单,以及在段落中应用的代码片段,例如变量、函数名、数据 库、数据类型、环境变量、语句和关键字。 等宽粗体(Constant width bold) 表示命令或需用户输入的文本内容。等宽斜体(Constant width italic) 表示需要用户提供的值或由上下文决定的值来替代的文本内容。使用示例代码补充材料( 代码示例、图片等) 可从以下网址下载:https: github. com csgillespieefficient。本书的目的是帮助你完成工作。通常,你可以在你的程序和文档中使用本书 的代码。除非你要复制大量代码,否则你无需为许可联系我们。例如,使用 本书中的多个代码片段编写程序就无需获得许可。但以 CD-ROM 形式分发或 销售 O Reilly 书中的代码就需要我们的许可。回答问题时引用本书以及代码 例程无需许可。在你自己的项目文档使用了大量的示例代码则需要获得许可。我们不强制要求署名,但如果这样做,我们深表感谢。署名格式一般包括 书名、作者、出版社和 ISBN 号,例如 :Efficient R Programming by Colin Gillespie and Robin Lovelace (OReilly). Copyright 2017ColinGillespie,Robin Lovelace, 978-1-491-95078-4。如果你觉得你的代码示例超出正常使用范围或者上述许可范围,请通过 permissions@oreilly.com 联系我们。OReilly SafariSafari(以前的 Safari Books Online)是一个针对企业、政府、教育工作者以 及个人的会员制培训和参考平台。订阅者可以访问来自超过 250 个出版社的大量书 籍、培训视 频、学习路 径、交互式教程,以及精选的播放列表,这些出版社包括 O Reilly Media、 Harvard Business Review、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、AdobePress、FT Press、Apress、Manning、New Riders、 McGraw-Hill、Jones & Bartlett 等。更多信息请访问 http:orieilly.comsafari。如何联系我们有关本书的建议和疑问请联系出版社:美国:OReilly Media, Inc.1005 Gravenstein Highway North Sebastopol, CA 95472中国:北京市西城区西直门南大街2号成铭大厦C座807室(100035) 奥莱利技术咨询(北京)有限公司这本书有专属网页,你可以在那里找到本书的勘误、示例和其他信息,请访 问:http:bit.lyefficient-r-programming。对本书做出评论或者咨询技术问题,发送Email至bookquestions@oreilly. com。需要了解更多关于我们书籍、课程、大会和新闻信息,请访问我们的官方网 站:http:www.oreilly.com。在 Facebook 上查看我们:http:facebook.comoreilly 在 Twitter 上关注我们:http:twitter.comoreillymedia在 YouTube 上查看我们:http:www.youtube.comoreillymedia致谢我在开放平台上编写了这本 书,很多人帮我修正了多个小问 题。特别感 谢 O Reilly 的本书工作人员,以及每个通过 Git Hub 的帮助者:@ Delvis、@richelbilderbeek、@adamryczkowski、@CSJCampbell、@tktan、@nachti, Conor Lawless、@timcdlucas,Dirk Eddelbuettel、@wolfganglederer、@HenrikBengtsson、@giocomai 和 @daattali。 感谢提出详细意见的技术审核人员:Richard Conton 和 Garrett Grolemund。Colin感谢 Esther、Nathan 和 Niamh,谢谢你们的耐心。Robin感谢我在 Cornerstone Housing Cooperative 的室友容忍我写书时的邋遢,感谢 Leeds 大学中支持我从事非常规的期刊文章和学术会议的学术工作的每个人。 感谢由开源代码的开发者、用户、传播者构成的社区的每个人,他们使这一 切成为可能。