R包开发
Hadley Wickham
杨学辉 译
出版时间:2016年08月
页数:180
从R包的使用者晋升为R包的开发者,从本书开始。
本书由R社区最有影响力的开发者,ggplot2、plyr等诸多知名R包开发者Hadley Wickham执笔,展示R包开发哲学。书中详细介绍了如何将可重用的R函数、示例数据以及文档一起打包,以便与他人分享代码、节省开发时间、组织数据分析,尽可能让工作自动化。

● 学习R包最有用的组件,包括使用指南和单元测试
● 利用devtools自动执行任务
● 掌握良好编码风格的技巧,比如如何把函数组织成文件
● 使用devtools简化开发流程
● 发现提交包到CRAN的最佳途径

“这本书是使用R语言构建高质量软件的实用指南。任何想要更上一层楼的R程序员都应该好好地读一读这本书。”
——Wes McKinney
pandas创建者
“作者Hadley大人在开发R包方面的成就之大,足以证明他提倡的开发R包的方法之有效。”
——谢益辉
统计之都创始人
“本书应该是目前仅有的全面讲述R包开发工作的著作……涉及了R包开发过程中的方方面面,包括R包结构介绍、对象文档和长文档的写作、编写测试、理解命名空间、外部数据和编译代码的处理、R包检查和发布流程与细节以及Git和GitHub的使用等,并深度整合了RStudio的使用。”
——冯凌秉
统计之都理事会主席
“Hadley出手,必属精品。这本书堪称R包开发的圣经。”
——魏太云
统计之都理事会成员,corrplot作者
  1. 中文版推荐序一
  2. 中文版推荐序二
  3. 译者序
  4. 前言
  5. 第一部分 入门
  6. 第1章 简介  
  7. 1.1 开发理念  
  8. 1.2 入门  
  9. 1.3 约定  
  10. 1.4 版本记录  
  11. 第2章 包的结构  
  12. 2.1 给包命名  
  13. 2.1.1 命名的要求  
  14. 2.1.2 命名的策略  
  15. 2.2 创建一个包  
  16. 2.3 RStudio项目  
  17. 2.4 什么是包
  18. 2.4.1 源码包
  19. 2.4.2 压缩包
  20. 2.4.3 二进制包
  21. 2.4.4 已安装的包
  22. 2.4.5 内存中的包
  23. 2.5 什么是库
  24. 第二部分 包的组件
  25. 第3章 R代码
  26. 3.1 R代码的工作流程
  27. 3.2 组织函数
  28. 3.3 代码风格
  29. 3.3.1 对象名称
  30. 3.3.2 空格
  31. 3.3.3 花括号
  32. 3.3.4 行的长度
  33. 3.3.5 缩进
  34. 3.3.6 赋值表达式
  35. 3.3.7 注释指南
  36. 3.4 顶层代码
  37. 3.4.1 加载代码
  38. 3.4.2 R运行环境
  39. 3.4.3 何时需要副作用
  40. 3.4.4 S4类、泛型和方法
  41. 3.5 CRAN注记
  42. 第4章 包的元数据
  43. 4.1 依赖:包需要什么
  44. 4.1.1 版本
  45. 4.1.2 其他依赖 
  46. 4.2 标题和描述:包是做什么的
  47. 4.3 作者:你是谁
  48. 4.4 许可证:谁能使用包
  49. 4.5 版本
  50. 4.6 其他域
  51. 第5章 对象文档
  52. 5.1 文档工作流程
  53. 5.2 另一个文档工作流程
  54. 5.3 ro xygen注释
  55. 5.4 函数文档
  56. 5.5 数据集文档
  57. 5.6 包文档  
  58. 5.7 类、泛型和方法的文档  
  59. 5.7.1 S3  
  60. 5.7.2 S4  
  61. 5.7.3 RC  
  62. 5.8 特殊字符
  63. 5.9 不要重复自己
  64. 5.9.1 从其他函数继承参数
  65. 5.9.2 在同一文件中为多个函数提供文档
  66. 5.10 文本格式参考
  67. 5.10.1 字符格式
  68. 5.10.2 链接
  69. 5.10.3 列表
  70. 5.10.4 数学符号
  71. 5.10.5 表  
  72. 第6章 使用指南:长篇文档
  73. 6.1 使用指南工作流程
  74. 6.2 元数据
  75. 6.3 Markdown  
  76. 6.3.1 章节
  77. 6.3.2 列表
  78. 6.3.3 内联格式
  79. 6.3.4 表格
  80. 6.3.5 代码
  81. 6.4 knitr  
  82. 6.5 开发周期
  83. 6.6 写使用指南的建议
  84. 6.7 CRAN注记
  85. 6.8 下一步
  86. 第7章 测试
  87. 7.1 测试工作流程
  88. 7.2 测试结构
  89. 7.3 编写测试
  90. 7.3.1 测试什么
  91. 7.3.2 跳过测试
  92. 7.3.3 建立自己的测试工具
  93. 7.4 测试文件
  94. 7.5 CRAN注记
  95. 第8章 命名空间
  96. 8.1 动机
  97. 8.2 搜索路径
  98. 8.3 命名空间
  99. 8.4 工作流程
  100. 8.5 导出
  101. 8.5.1 S3  
  102. 8.5.2 S4  
  103. 8.5.3 RC  
  104. 8.5.4 数据
  105. 8.6 导入
  106. 8.6.1 R函数
  107. 8.6.2 S3  
  108. 8.6.3 S4  
  109. 8.6.4 编译过的函数
  110. 第9章 外部数据
  111. 9.1 导出的数据
  112. 9.2 内部数据
  113. 9.3 原始数据
  114. 9.4 其他数据
  115. 9.5 CRAN注记
  116. 第10章 编译过的代码
  117. 10.1 C++
  118. 10.1.1 工作流程
  119. 10.1.2 文档
  120. 10.1.3 导出C++代码
  121. 10.1.4 导入C++代码
  122. 10.1.5 最佳实践
  123. 10.2 C 
  124. 10.2.1 .Call()入门
  125. 10.2.2 .C()入门
  126. 10.2.3 工作流程
  127. 10.2.4 导出C代码
  128. 10.2.5 导入C代码
  129. 10.2.6 最佳实践
  130. 10.3 调试编译过的代码
  131. 10.4 makefile  
  132. 10.5 其他语言
  133. 10.6 许可
  134. 10.7 开发工作流程
  135. 10.8 CRAN的问题
  136. 第11章 安装文件
  137. 11.1 包引用
  138. 11.2 其他语言
  139. 第12章 其他组成部分
  140. 第三部分 最佳实践
  141. 第13章 Git和GitHub 
  142. 13.1 RStudio、Git和GitHub 
  143. 13.2 初始设置
  144. 13.3 创建本地的Git仓库
  145. 13.4 查看改变
  146. 13.5 记录改变
  147. 13.6 提交的最佳实践
  148. 13.7 忽略文件
  149. 13.8 撤销一个错误
  150. 13.9 与GitHub同步
  151. 13.10 使用GitHub的好处
  152. 13.11 与他人合作
  153. 13.12 问题
  154. 13.13 分支
  155. 13.14 创建拉请求
  156. 13.15 向另一个仓库提交拉请求
  157. 13.16 审查和接受请求
  158. 13.17 更多内容
  159. 第14章 自动检查
  160. 14.1 工作流程
  161. 14.2 检查
  162. 14.2.1 检查元数据
  163. 14.2.2 包的结构
  164. 14.2.3 描述
  165. 14.2.4 命名空间
  166. 14.2.5 代码
  167. 14.2.6 数据
  168. 14.2.7 文档
  169. 14.2.8 演示
  170. 14.2.9 编译过的代码
  171. 14.2.10 测试
  172. 14.2.11 使用指南
  173. 14.3 使用Travis进行每次提交后的检查
  174. 14.3.1 基本配置
  175. 14.3.2 其他用途
  176. 第15章 发布包
  177. 15.1 版本号
  178. 15.2 向后兼容
  179. 15.3 提交过程
  180. 15.3.1 测试环境
  181. 15.3.2 检查结果
  182. 15.3.3 反向依赖
  183. 15.4 CRAN的政策
  184. 15.5 重要文件
  185. 15.5.1 README.md  
  186. 15.5.2 README.Rmd  
  187. 15.5.3 NEWS.md  
  188. 15.6 发布
  189. 15.6.1 关于提交失败
  190. 15.6.2 二进制包编译
  191. 15.7 准备下一个版本
  192. 15.8 宣传包
  193. 15.9 祝贺你
书名:R包开发
作者:Hadley Wickham
译者:杨学辉 译
国内出版社:人民邮电出版社
出版时间:2016年08月
页数:180
书号:978-7-115-42788-5
原版书书名:R Packages
原版书出版商:O'Reilly Media
Hadley Wickham
 
Hadley Wickham,RStudio首席科学家,莱斯大学助理教授,资深R社区成员,已开发了30多个R包。因在数据处理和可视化开发工具方面的卓越贡献,获得专为统计计算而设立的约翰·钱伯斯奖。