zoukankan      html  css  js  c++  java
  • R语言编程艺术

    《R语言编程艺术》
    基本信息
    原书名:The Art of R Programming:A Tour of Statistical Software Design
    作者: (美)Norman Matloff   
    译者: 陈堰平 邱怡轩 潘岚锋 熊熹
    丛书名: 华章程序员书库
    出版社:机械工业出版社
    ISBN:9787111423140
    上架时间:2013-5-27
    出版日期:2013 年5月
    开本:16开
    页码:1
    版次:1-1
    所属分类:计算机

    更多关于 》》》《 R语言编程艺术
    内容简介
        计算机书籍
    《r语言编程艺术》是r语言领域公认的经典著作,由著名计算机科学家兼统计学家撰写,amazon五星级畅销书。它是一本面向r语言开发者的纯编程类书籍,不需要读者具备统计学基础,从编程角度而非统计学角度系统讲解了r语言的数据结构、编程结构、语法、tcp/ip网络编程、并行计算、代码调试、程序性能优化、编程技巧以及r语言与其他语言的接口等所有与r编程相关的知识,几乎面面俱到。本书的实用性也非常强,44个精选的扩展案例,充分展示了r语言在数据处理和统计分析方面的强大能力。
    全书一共16章:第1章介绍了学习r语言需要掌握的预备知识以及它的一些重要数据结构;第2~6章详细讲解了r语言的主要数据结构,包括向量、矩阵、数组、列表、数据框和因子;第7~13章全面讲解了r语言的语法,包括编程结构、面向对象特性、数学运算与模拟、输入与输出、字符串处理、绘图,以及r语言的调试方法。第14~16章讲解了r语言编程的高级内容,如执行速度和性能的提升、r语言与c/c++或python的混合编程,以及r语言的并行计算等。
    目录
    《r语言编程艺术》 
    译者序 
    前 言 
    致 谢 
    第1章 快速入门 1 
    1.1 怎样运行r 1 
    1.1.1 交互模式 1 
    1.1.2 批处理模式 2 
    1.2 第一个r会话 3 
    1.3 函数入门 5 
    1.3.1 变量的作用域 7 
    1.3.2 默认参数 8 
    1.4 r语言中一些重要的数据结构 8 
    1.4.1 向量,r语言中的战斗机 8 
    1.4.2 字符串 9 
    1.4.3 矩阵 9 
    1.4.4 列表 10 
    1.4.5 数据框 12 
    1.4.6 类 12 
    1.5 扩展案例:考试成绩的回归分析 13 
    .1.6 启动和关闭r 16 
    1.7 获取帮助 17 
    1.7.1 help()函数 18 
    1.7.2 example()函数 18 
    1.7.3 如果你不太清楚要查找什么 19 
    1.7.4 其他主题的帮助 20 
    1.7.5 批处理模式的帮助 21 
    1.7.6 互联网资源 21 
    第2章 向量 22 
    2.1 标量、向量、数组与矩阵 22 
    2.1.1 添加或删除向量元素 22 
    2.1.2 获取向量长度 23 
    2.1.3 作为向量的矩阵和数组 24 
    2.2 声明 24 
    2.3 循环补齐 25 
    2.4 常用的向量运算 26 
    2.4.1 向量运算和逻辑运算 26 
    2.4.2 向量索引 27 
    2.4.3 用:运算符创建向量 28 
    2.4.4 使用seq()创建向量 28 
    2.4.5 使用rep()重复向量常数 29 
    2.5 使用all()和any() 30 
    2.5.1 扩展案例:寻找连续出现1的游程 30 
    2.5.2 扩展案例:预测离散值时间序列 31 
    2.6 向量化运算符 34 
    2.6.1 向量输入,向量输出 34 
    2.6.2 向量输入,矩阵输出 36 
    2.7 na与null值 37 
    2.7.1 na的使用 37 
    2.7.2 null的使用 37 
    2.8 筛选 38 
    2.8.1 生成筛选索引 38 
    2.8.2 使用subset()函数筛选 40 
    2.8.3 选择函数which() 40 
    2.9 向量化的ifelse()函数 41 
    2.9.1 扩展案例:度量相关性 42 
    2.9.2 扩展案例:对鲍鱼数据集重新编码 44 
    2.10 测试向量相等 46 
    2.11 向量元素的名称 47 
    2.12 关于c()的更多内容 48 
    第3章 矩阵和数组 49 
    3.1 创建矩阵 49 
    3.2 一般矩阵运算 50 
    3.2.1 线性代数运算 50 
    3.2.2 矩阵索引 51 
    3.2.3 扩展案例:图像操作 52 
    3.2.4 矩阵元素筛选 55 
    3.2.5 扩展案例:生成协方差矩阵 57 
    3.3 对矩阵的行和列调用函数 58 
    3.3.1 使用apply()函数 58 
    3.3.2 扩展案例:寻找异常值 60 
    3.4 增加或删除矩阵的行或列 61 
    3.4.1 改变矩阵的大小 61 
    3.4.2 扩展案例:找到图中距离最近的一对端点 63 
    3.5 向量与矩阵的差异 65 
    3.6 避免意外降维 66 
    3.7 矩阵的行和列的命名问题 68 
    3.8 高维数组 68 
    第4章 列表 71 
    4.1 创建列表 71 
    4.2 列表的常规操作 72 
    4.2.1 列表索引 72 
    4.2.2 增加或删除列表元素 73 
    4.2.3 获取列表长度 75 
    4.2.4 扩展案例:文本词汇索引 75 
    4.3 访问列表元素和值 78 
    4.4 在列表上使用apply系列函数 79 
    4.4.1 lapply()和sapply()的使用 79 
    4.4.2 扩展案例:文本词汇索引(续) 80 
    4.4.3 扩展案例:鲍鱼数据 82 
    4.5 递归型列表 83 
    第5章 数据框 85 
    5.1 创建数据框 85 
    5.1.1 访问数据框 85 
    5.1.2 扩展案例:考试成绩的回归分析(续) 86 
    5.2 其他矩阵式操作 87 
    5.2.1 提取子数据框 87 
    5.2.2 缺失值的处理 88 
    5.2.3 使用rbind()和cbind()等函数 89 
    5.2.4 使用apply() 90 
    5.2.5 扩展案例:工资研究 90 
    5.3 合并数据框 92 
    5.4 应用于数据框的函数 95 
    5.4.1 在数据框上应用lapply()和sapply()函数 95 
    5.4.2 扩展案例:应用logistic模型 95 
    5.4.3 扩展案例:学习中文方言的辅助工具 96 
    第6章 因子和表 102 
    6.1 因子与水平 102 
    6.2 因子的常用函数 103 
    6.2.1 tapply函数 103 
    6.2.2 split()函数 105 
    6.2.3 by()函数 106 
    6.3 表的操作 107 
    6.3.1 表中有关矩阵和类似数组的操作 109 
    6.3.2 扩展案例: 提取子表 111 
    6.3.3 扩展案例:在表中寻找频数最大的单元格 113 
    6.4 其他与因子和表有关的函数 114 
    6.4.1 aggregate()函数 115 
    6.4.2 cut()函数 115 
    第7章 r语言编程结构 116 
    7.1 控制语句 116 
    7.1.1 循环 116 
    7.1.2 对非向量集合的循环 119 
    7.1.3 if-else结构 120 
    7.2 算术和逻辑运算符及数值 121 
    7.3 参数的默认值 122 
    7.4 返回值 123 
    7.4.1 决定是否显式调用return () 124 
    7.4.2 返回复杂对象 124 
    7.5 函数都是对象 124 
    7.6 环境和变量作用域的问题 127 
    7.6.1 顶层环境 127 
    7.6.2 变量作用域的层次 128 
    7.6.3 关于ls()的进一步讨论 131 
    7.6.4 函数(几乎)没有副作用 131 
    7.6.5 扩展案例:显示调用框的函数 132 
    7.7 r语言中没有指针 134 
    7.8 向上级层次进行写操作 136 
    7.8.1 利用超赋值运算符对非局部变量进行写操作 136 
    7.8.2 用assign()函数对非局部变量进行写操作 137 
    7.8.3 扩展案例:用r语言实现离散事件仿真 138 
    7.8.4 什么时候使用全局变量 145 
    7.8.5 闭包 147 
    7.9 递归 148 
    7.9.1 quicksort的具体实现 149 
    7.9.2 拓展举例:二叉查找树 150 
    7.10 置换函数 155 
    7.10.1 什么是置换函数 155 
    7.10.2 扩展案例:可记录元素修改次数的向量类 156 
    7.11 写函数代码的工具 158 
    7.11.1 文本编辑器和集成开发环境 158 
    7.11.2 edit()函数 158 
    7.12 创建自己的二元运算符 159 
    7.13 匿名函数 159 
    第8章 数学运算与模拟 161 
    8.1 数学函数 161 
    8.1.1 扩展例子:计算概率 161 
    8.1.2 累积和与累积乘积 162 
    8.1.3 最小值和最大值 162 
    8.1.4 微积分 163 
    8.2 统计分布函数 164 
    8.3 排序 165 
    8.4 向量和矩阵的线性代数运算 166 
    8.4.1 扩展示例:向量叉积 169 
    8.4.2 扩展示例:确定马尔科夫链的平稳分布 170 
    8.5 集合运算 171 
    8.6 用r做模拟 173 
    8.6.1 内置的随机变量发生器 173 
    8.6.2 重复运行时获得相同的随机数流 175 
    8.6.3 扩展案例:组合的模拟 175 
    第9章 面向对象的编程 177 
    9.1 s3类 177 
    9.1.1 s3泛型函数 177 
    9.1.2 实例:线性模型函数lm()中的oop 178 
    9.1.3 寻找泛型函数的实现方法 179 
    9.1.4 编写s3类 181 
    9.1.5 使用继承 182 
    9.1.6 扩展示例:用于存储上三角矩阵的类 183 
    9.1.7 扩展示例:多项式回归程序 187 
    9.2 s4类 191 
    9.2.1 编写s4类 191 
    9.2.2 在s4类上实现泛型函数 193 
    9.3 s3类和s4类的对比 193 
    9.4 对象的管理 194 
    9.4.1 用ls()函数列出所有对象 194 
    9.4.2 用rm()函数删除特定对象 194 
    9.4.3 用save()函数保存对象集合 195 
    9.4.4 查看对象内部结构 196 
    9.4.5 exists()函数 197 
    第10章 输入与输出 198 
    10.1 连接键盘与显示器 198 
    10.1.1 使用scan()函数 198 
    10.1.2 使用readline()函数 200 
    10.1.3 输出到显示器 201 
    10.2 读写文件 202 
    10.2.1 从文件中读取数据框或矩阵 202 
    10.2.2 读取文本文件 203 
    10.2.3 连接的介绍 203 
    10.2.4 扩展案例:读取pums普查数据 204 
    10.2.5 通过url在远程计算机上访问文件 208 
    10.2.6 写文件 209 
    10.2.7 获取文件和目录信息 210 
    10.2.8 扩展案例:多个文件内容的和 211 
    10.3 访问互联网 211 
    10.3.1 tcp/ip概述 212 
    10.3.2 r中的socket 212 
    10.3.3 扩展案例:实现r的并行计算 213 
    第11章 字符串操作 216 
    11.1 字符串操作函数概述 216 
    11.1.1 grep() 216 
    11.1.2 nchar() 216 
    11.1.3 paste() 217 
    11.1.4 sprintf() 217 
    11.1.5 substr() 217 
    11.1.6 strsplit() 217 
    11.1.7 regexpr() 218 
    11.1.8 gregexpr() 218 
    11.2 正则表达式 218 
    11.2.1 扩展案例:检测文件名的后缀 219 
    11.2.2 扩展案例:生成文件名 220 
    11.3 在调试工具edtdbg中使用字符串工具 221 
    第12章 绘图 224 
    12.1 创建图形 224 
    12.1.1 基础图形系统的核心:plot()函数 224 
    12.1.2 添加线条:abline()函数 225 
    12.1.3 在保持现有图形的基础上新增一个绘图窗口 226 
    12.1.4 扩展案例:在一张图中绘制两条密度曲线 227 
    12.1.5 扩展案例:进一步考察多项式回归 228 
    12.1.6 添加点:points()函数 231 
    12.1.7 添加图例:legend()函数 231 
    12.1.8 添加文字:text()函数 232 
    12.1.9 精确定位:locator()函数 232 
    12.1.10 保存图形 233 
    12.2 定制图形 233 
    12.2.1 改变字符大小:cex选项 233 
    12.2.2 改变坐标轴的范围:xlim和ylim选项 234 
    12.2.3 添加多边形:polygon()函数 235 
    12.2.4 平滑散点:lowess()和loess()函数 236 
    12.2.5 绘制具有显式表达式的函数 237 
    12.2.6 扩展案例:放大曲线的一部分 237 
    12.3 将图形保存到文件 240 
    12.3.1 r图形设备 240 
    12.3.2 保存已显示的图形 241 
    12.3.3 关闭r图形设备 241 
    12.4 创建三维图形 241 
    第13章 调试 243 
    13.1 调试的基本原则 243 
    13.1.1 调试的本质:确认原则 243 
    13.1.2 从小处着手 243 
    13.1.3 模块化的、自顶向下的调试风格 244 
    13.1.4 反漏洞 244 
    13.2 为什么要使用调试工具 244 
    13.3 使用r的调试工具 245 
    13.3.1 利用debug()和browser()函数进行逐步调试 245 
    13.3.2 使用浏览器命令 246 
    13.3.3 设置断点 246 
    13.3.4 使用trace()函数进行追踪 247 
    13.3.5 使用traceback()和debugger()函数对崩溃的程序进行检查 248 
    13.3.6 扩展案例:两个完整的调试会话 248 
    13.4 更方便的调试工具 256 
    13.5 在调试模拟数据的代码时请确保一致性 258 
    13.6 语法和运行时错误 258 
    13.7 在r上运行gdb 259 
    第14章 性能提升:速度和内存 260 
    14.1 编写快速的r代码 260 
    14.2 可怕的for循环 260 
    14.2.1 用向量化提升速度 261 
    14.2.2 扩展案例:在蒙特卡罗模拟中获得更快的速度 262 
    14.2.3 扩展案例:生成幂次矩阵 266 
    14.3 函数式编程和内存问题 267 
    14.3.1 向量赋值问题 267 
    14.3.2 改变时拷贝 268 
    14.3.3 扩展案例:避免内存拷贝 269 
    14.4 利用rprof()来寻找代码的瓶颈 270 
    14.4.1 利用rprof()来进行监视 270 
    14.4.2 rprof()的工作原理 271 
    14.5 字节码编译 273 
    14.6 内存无法装下数据怎么办 273 
    14.6.1 分块 274 
    14.6.2 利用r软件包来进行内存管理 274 
    第15章 r与其他语言的接口 275 
    15.1 编写能被r调用的c/c++函数 275 
    15.1.1 r与c/c++交互的预备知识 275 
    15.1.2 例子:提取方阵的次对角线元素 275 
    15.1.3 编译和运行程序 276 
    15.1.4 调试r/c程序 277 
    15.1.5 扩展案例:预测离散取值的时间序列 279 
    15.2 从python调用r 281 
    15.2.1 安装rpy 281 
    15.2.2 rpy语法 282 
    第16章 r语言并行计算 284 
    16.1 共同外链问题 284 
    16.2 snow包简介 285 
    16.2.1 运行snow代码 285 
    16.2.2 分析snow代码 287 
    16.2.3 可以获得多少倍的加速 287 
    16.2.4 扩展案例:k均值聚类 288 
    16.3 借助于c 290 
    16.3.1 利用多核机器 291 
    16.3.2 扩展案例:利用openmp解决共同外链问题 291 
    16.3.3 运行openmp代码 292 
    16.3.4 openmp代码分析 293 
    16.3.5 其他openmp指令 293 
    16.3.6 gpu编程 294 
    16.4 普遍的性能考虑 295 
    16.4.1 开销的来源 295 
    16.4.2 简单并行程序,以及那些不简单的 296 
    16.4.3 静态和动态任务分配 297 
    16.4.4 软件炼金术:将一般的问题转化为简单并行问题 299 
    16.5 调试r语言并行计算的代码 299 
    附录a 安装r 300 
    附录b 安装和使用包 301

    图书信息来源: 互动出版网
  • 相关阅读:
    Maven配置与创建
    JDBCTemplate执行增删改查(CDUR)操作
    事务(Transaction)
    sql批处理(batch)的简单使用
    基于XML配置的AOP实现日志打印
    简单的aop实现日志打印(切入点表达式)
    SpringMVC下文件的上传与下载以及文件列表的显示
    @RequestMapping映射请求,@PathVariable,@RequestParam,@RequestHeader的使用
    SpringMvc的异常处理
    SpringMVC的HelloWorld快速入门!
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3102173.html
Copyright © 2011-2022 走看看