logo资料库

高级R语言编程 Advanced R 中文版.pdf

第1页 / 共523页
第2页 / 共523页
第3页 / 共523页
第4页 / 共523页
第5页 / 共523页
第6页 / 共523页
第7页 / 共523页
第8页 / 共523页
资料共523页,剩余部分请下载后查看
R语言高级程序设计
目录
前言
第一部分 基础知识
1介绍
2数据结构
3取子集操作
4词汇表
5编程风格指南
6函数
7面向对象指南
8环境
9调试、条件处理和防御性编程
第二部分 函数式编程
10函数式编程
11泛函
12函数运算符
第三部分 编程语言层面的计算
13非标准计算
14表达式
15领域特定语言
第四部分 性能
16性能
17优化代码
18内存
19使用Rcpp包编写高性能函数
20R的C语言接口
2015 版 R 语言高级程序设计 ——《Advanced R》中文版 原著者:Hadley Wickham 译者:刘宁 修改日期:2015-09-01
R 语言高级程序设计 1 目 录 前言 ...................................................................................................................................................................... 9 译者简介 .................................................................................................................................................. 9 译者序 .................................................................................................................................................... 10 中文版版权声明 ................................................................................................................................ 11 第一部分 基础知识 .................................................................................................................................... 12 1 介绍 ..................................................................................................................................................... 12 1.1 谁应该阅读本书? ......................................................................................................... 14 1.2 你在本书中能学到什么? .......................................................................................... 15 1.3 元技术 .................................................................................................................................. 16 1.4 推荐阅读 ............................................................................................................................. 16 1.5 得到帮助 ............................................................................................................................. 17 1.6 鸣谢 ....................................................................................................................................... 18 1.7 约定 ....................................................................................................................................... 18 1.8 版权声明 ............................................................................................................................. 19 2 数据结构 ........................................................................................................................................... 20 2.1 向量 ....................................................................................................................................... 21 2.2 属性 ....................................................................................................................................... 27 2.3 矩阵和数组 ........................................................................................................................ 33 需要帮助请咨询 QQ:59739150 E-mail: liuning.1982@qq.com
R 语言高级程序设计 2 2.4 数据框 .................................................................................................................................. 37 2.5 答案 ....................................................................................................................................... 41 3 取子集操作 ...................................................................................................................................... 43 3.1 数据类型 ............................................................................................................................. 44 3.2 取子集操作符 ................................................................................................................... 52 3.3 取子集与赋值 ................................................................................................................... 57 3.4 应用 ....................................................................................................................................... 59 3.5 答案 ....................................................................................................................................... 70 4 词汇表 ................................................................................................................................................ 71 4.1 基础 ....................................................................................................................................... 71 4.2 通用数据结构 ................................................................................................................... 74 4.3 统计学 .................................................................................................................................. 75 4.4 使用 R 语言工作 ............................................................................................................. 76 4.5 输入/输出 ........................................................................................................................... 77 5 编码风格指南 ................................................................................................................................. 79 5.1 标识符和命名 ................................................................................................................... 79 5.2 语法 ....................................................................................................................................... 81 5.3 组织 ....................................................................................................................................... 85 6 函数 ..................................................................................................................................................... 86 需要帮助请咨询 QQ:59739150 E-mail: liuning.1982@qq.com
R 语言高级程序设计 3 6.1 函数的组成部分 .............................................................................................................. 88 6.2 词法作用域 ........................................................................................................................ 90 6.3 所有的操作都是函数调用 .......................................................................................... 97 6.4 函数参数 ...........................................................................................................................100 6.5 特殊调用 ...........................................................................................................................110 6.6 返回值 ................................................................................................................................114 6.7 小测验答案 ......................................................................................................................120 7 面向对象指南 ...............................................................................................................................121 7.1 基本类型 ...........................................................................................................................123 7.2 S3 ..........................................................................................................................................124 7.3 S4 ..........................................................................................................................................134 7.4 引用类 ................................................................................................................................141 7.5 选择一种系统 .................................................................................................................145 7.6 小测验答案 ......................................................................................................................146 8 环境 ...................................................................................................................................................147 8.1 环境基础 ...........................................................................................................................148 8.2 在环境中进行递归 .......................................................................................................156 8.3 函数环境 ...........................................................................................................................159 8.4 把名字绑定到值上 .......................................................................................................170 需要帮助请咨询 QQ:59739150 E-mail: liuning.1982@qq.com
R 语言高级程序设计 4 8.5 显式环境 ...........................................................................................................................174 8.6 小测验答案 ......................................................................................................................176 9 调试、条件处理和防御性编程 ............................................................................................178 9.1 调试技术 ...........................................................................................................................180 9.2 调试工具 ...........................................................................................................................182 9.3 条件处理 ...........................................................................................................................191 9.4 防御性编程 ......................................................................................................................201 9.5 小测验答案 ......................................................................................................................203 第二部分 函数式编程 ............................................................................................................................. 205 10 函数式编程 .................................................................................................................................205 10.1 使用函数式编程的动机 ...........................................................................................206 10.2 匿名函数 .........................................................................................................................212 10.3 闭包 ...................................................................................................................................214 10.4 函数列表 .........................................................................................................................221 10.5 案例研究:数值积分 ................................................................................................227 11 泛函 ................................................................................................................................................231 11.1 我的第一个泛函: lapply() ......................................................................................233 11.2 for 循环泛函:lapply()的朋友们 .......................................................................238 11.3 操作矩阵和数据框 .....................................................................................................249 需要帮助请咨询 QQ:59739150 E-mail: liuning.1982@qq.com
R 语言高级程序设计 5 11.4 操作列表 .........................................................................................................................256 11.5 数学泛函 .........................................................................................................................259 11.6 循环应该被保留的情况 ...........................................................................................262 11.7 函数族 ..............................................................................................................................265 12 函数运算符 .................................................................................................................................273 12.1 行为函数运算符 ..........................................................................................................275 12.2 输出函数运算符 ..........................................................................................................287 12.3 输入函数运算符 ..........................................................................................................291 12.4 联合函数运算符 ..........................................................................................................295 第三部分 编程语言层面的计算 ......................................................................................................... 301 13 非标准计算 .................................................................................................................................301 13.1 捕获表达式 ....................................................................................................................303 13.2 子集中的非标准计算 ................................................................................................305 13.3 作用域问题 ....................................................................................................................310 13.4 从另一个函数进行调用 ...........................................................................................313 13.5 substitute() ...................................................................................................................318 13.6 非标准计算的缺点 .....................................................................................................323 14 表达式 ...........................................................................................................................................326 14.1 表达式的结构 ...............................................................................................................326 需要帮助请咨询 QQ:59739150 E-mail: liuning.1982@qq.com
R 语言高级程序设计 6 14.2 名字 ...................................................................................................................................332 14.3 调用 ...................................................................................................................................334 14.4 捕获当前调用 ...............................................................................................................339 14.5 成对列表 .........................................................................................................................343 14.6 解析与逆解析 ...............................................................................................................347 14.7 使用递归函数遍历抽象语法树 ............................................................................349 15 领域特定语言 ............................................................................................................................362 15.1 HTML ...............................................................................................................................363 15.2 LaTeX ...............................................................................................................................373 第四部分 性能 ............................................................................................................................................ 384 16 性能 ................................................................................................................................................384 16.1 R 语言为什么慢? .....................................................................................................385 16.2 微基准测试 ....................................................................................................................386 16.3 语言性能 .........................................................................................................................388 16.4 实现性能 .........................................................................................................................395 16.5 其它的 R 语言实现 ....................................................................................................399 17 优化代码 ......................................................................................................................................404 17.1 测量性能 .........................................................................................................................406 17.2 改善性能 .........................................................................................................................411 需要帮助请咨询 QQ:59739150 E-mail: liuning.1982@qq.com
R 语言高级程序设计 7 17.3 代码组织 .........................................................................................................................411 17.4 有人已经解决了这个问题吗? ............................................................................413 17.5 尽量少做 .........................................................................................................................415 17.6 向量化 ..............................................................................................................................424 17.7 避免复制 .........................................................................................................................426 17.8 编译成字节码 ...............................................................................................................428 17.9 案例研究:t 检验 ......................................................................................................429 17.10 并行化 ...........................................................................................................................432 17.11 其它技术 ......................................................................................................................434 18 内存 ................................................................................................................................................436 18.1 对象的大小 ....................................................................................................................437 18.2 内存使用和垃圾收集 ................................................................................................443 18.3 内存分析与 lineprof .................................................................................................446 18.4 就地修改 .........................................................................................................................450 19 使用 Rcpp 包编写高性能函数 ...........................................................................................457 19.1 开始使用 C++ ...............................................................................................................459 19.2 属性和其它的类 ..........................................................................................................470 19.3 缺失值 ..............................................................................................................................474 19.4 Rcpp 语法糖 .................................................................................................................478 需要帮助请咨询 QQ:59739150 E-mail: liuning.1982@qq.com
分享到:
收藏