R语言编程艺术+R语言经典实例(套装共2册)
Norman Matloff,著名计算机科学家兼统计学家,美国加州大学戴维斯分校计算机科学系教授,曾是该校统计专业的创建者之一,并担任过统计学教授,对并行编程、网络流量、数据挖掘、磁盘系统性能等方面的技术都有深入的研究。他乐于分享,撰写了多部广受欢迎的关于软件开发的在线教程,多次为《纽约时报》、《华盛顿邮报》、《福布斯杂志》以及《洛杉矶时报》撰写文章,是《The Art of Debugging》的作者之一。
《R语言编程艺术》内容简介: 《R语言编程艺术》是R语言领域公认的经典著作,由著名计算机科学家兼统计学家撰写,它是一本面向R语言开发者的纯编程类书籍,不需要读者具备统计学基础,从编程角度而非统计学角度系统讲解了R语言的数据结构、编程结构、语法、TCP/IP网络编程、并行计算、代码调试、程序性能优化、编程技巧以及R语言与其他语言的接口等所有与R编程相关的知识,几乎面面俱到。本书的实用性也非常强,44个精选的扩展案例,充分展示了R语言在数据处理和统计分析方面的强大能力。 全书一共16章:第1章介绍了学习R语言需要掌握的预备知识以及它的一些重要数据结构;第2~6章详细讲解了R语言的主要数据结构,包括向量、矩阵、数组、列表、数据框和因子;第7~13章全面讲解了R语言的语法,包括编程结构、面向对象特性、数学运算与模拟、输入与输出、字符串处理、绘图,以及R语言的调试方法。第14~16章讲解了R语言编程的高级内容,如执行速度和性能的提升、R语言与C/C++或P…
查看完整
查看完整
《R语言编程艺术》目录:
译者序
前 言
致 谢
第1章 快速入门
1.1 怎样运行R
1.1.1 交互模式
1.1.2 批处理模式
1.2 第一个R会话
1.3 函数入门
1.3.1 变量的作用域
1.3.2 默认参数
1.4 R语言中一些重要的数据结构
1.4.1 向量,R语言中的战斗机
1.4.2 字符串
1.4.3 矩阵
1.4.4 列表
1.4.5 数据框
1.4.6 类
1.5 扩展案例:考试成绩的回归分析
1.6 启动和关闭R
1.7 获取帮助
1.7.1 help()函数
1.7.2 example()函数
1.7.3 如果你不太清楚要查找什么
1.7.4 其他主题的帮助
1.7.5 批处理模式的帮助
1.7.6 互联网资源
第2章 向量
2.1 标量、向量、数组与矩阵
2.1.1 添加或删除向量元素
2.1.2 获取向量长度
2.1.3 作为向量的矩阵和数组
2.2 声明
2.3 循环补齐
2.4 常用的向量运算
2.4.1 向量运算和逻辑运算
2.4.2 向量索引
2.4.3 用:运算符创建向量
2.4.4 使用seq()创建向量
2.4.5 使用rep()重复向量常数
2.5 使用all()和any()
2.5.1 扩展案例:寻找连续出现1的游程
2.5.2 扩展案例:预测离散值时间序列
2.6 向量化运算符
2.6.1 向量输入,向量输出
2.6.2 向量输入,矩阵输出
2.7 NA与NULL值
2.7.1 NA的使用
2.7.2 NULL的使用
2.8 筛选
2.8.1 生成筛选索引
2.8.2 使用subset()函数筛选
2.8.3 选择函数which()
2.9 向量化的ifelse()函数
2.9.1 扩展案例:度量相关性
2.9.2 扩展案例:对鲍鱼数据集重新编码
2.10 测试向量相等
2.11 向量元素的名称
2.12 关于c()的更多内容
第3章 矩阵和数组
3.1 创建矩阵
3.2 一般矩阵运算
3.2.1 线性代数运算
3.2.2 矩阵索引
3.2.3 扩展案例:图像操作
3.2.4 矩阵元素筛选
3.2.5 扩展案例:生成协方差矩阵
3.3 对矩阵的行和列调用函数
3.3.1 使用apply()函数
3.3.2 扩展案例:寻找异常值
3.4 增加或删除矩阵的行或列
3.4.1 改变矩阵的大小
3.4.2 扩展案例:找到图中距离最近的一对端点
3.5 向量与矩阵的差异
3.6 避免意外降维
3.7 矩阵的行和列的命名问题
3.8 高维数组
第4章 列表
4.1 创建列表
4.2 列表的常规操作
4.2.1 列表索引
4.2.2 增加或删除列表元素
4.2.3 获取列表长度
4.2.4 扩展案例:文本词汇索引
4.3 访问列表元素和值
4.4 在列表上使用apply系列函数
4.4.1 lapply()和sapply()的使用
4.4.2 扩展案例:文本词汇索引(续)
4.4.3 扩展案例:鲍鱼数据
4.5 递归型列表
第5章 数据框
5.1 创建数据框
5.1.1 访问数据框
5.1.2 扩展案例:考试成绩的回归分析(续)
5.2 其他矩阵式操作
5.2.1 提取子数据框
5.2.2 缺失值的处理
5.2.3 使用rbind()和cbind()等函数
5.2.4 使用apply()
5.2.5 扩展案例:工资研究
5.3 合并数据框
5.4 应用于数据框的函数
5.4.1 在数据框上应用lapply()和sapply()函数
5.4.2 扩展案例:应用Logistic模型
5.4.3 扩展案例:学习中文方言的辅助工具
第6章 因子和表
6.1 因子与水平
6.2 因子的常用函数
6.2.1 tapply函数
6.2.2 split()函数
6.2.3 by()函数
6.3 表的操作
6.3.1 表中有关矩阵和类似数组的操作
6.3.2 扩展案例: 提取子表
6.3.3 扩展案例:在表中寻找频数最大的单元格
6.4 其他与因子和表有关的函数
6.4.1 aggregate()函数
6.4.2 cut()函数
第7章 R语言编程结构
7.1 控制语句
7.1.1 循环
7.1.2 对非向量集合的循环
7.1.3 if-else结构
7.2 算术和逻辑运算符及数值
7.3 参数的默认值
7.4 返回值
7.4.1 决定是否显式调用return ()
7.4.2 返回复杂对象
7.5 函数都是对象
7.6 环境和变量作用域的问题
7.6.1 顶层环境
7.6.2 变量作用域的层次
7.6.3 关于ls()的进一步讨论
7.6.4 函数(几乎)没有副作用
7.6.5 扩展案例:显示调用框的函数
7.7 R语言中没有指针
7.8 向上级层次进行写操作
7.8.1 利用超赋值运算符对非局部变量进行写操作
7.8.2 用assign()函数对非局部变量进行写操作
7.8.3 扩展案例:用R语言实现离散事件仿真
7.8.4 什么时候使用全局变量
7.8.5 闭包
7.9 递归
7.9.1 Quicksort的具体实现
7.9.2 拓展举例:二叉查找树
7.10 置换函数
7.10.1 什么是置换函数
7.10.2 扩展案例:可记录元素修改次数的向量类
7.11 写函数代码的工具
7.11.1 文本编辑器和集成开发环境
7.11.2 edit()函数
7.12 创建自己的二元运算符
7.13 匿名函数
第8章 数学运算与模拟
8.1 数学函数
8.1.1 扩展例子:计算概率
8.1.2 累积和与累积乘积
8.1.3 最小值和最大值
8.1.4 微积分
8.2 统计分布函数
8.3 排序
8.4 向量和矩阵的线性代数运算
8.4.1 扩展示例:向量叉积
8.4.2 扩展示例:确定马尔科夫链的平稳分布
8.5 集合运算
8.6 用R做模拟
8.6.1 内置的随机变量发生器
8.6.2 重复运行时获得相同的随机数流
8.6.3 扩展案例:组合的模拟
第9章 面向对象的编程
9.1 S3类
9.1.1 S3泛型函数
9.1.2 实例:线性模型函数lm()中的OOP
9.1.3 寻找泛型函数的实现方法
9.1.4 编写S3类
9.1.5 使用继承
9.1.6 扩展示例:用于存储上三角矩阵的类
9.1.7 扩展示例:多项式回归程序
9.2 S4类
9.2.1 编写S4类
9.2.2 在S4类上实现泛型函数
9.3 S3类和S4类的对比
9.4 对象的管理
9.4.1 用ls()函数列出所有对象
9.4.2 用rm()函数删除特定对象
9.4.3 用save()函数保存对象集合
9.4.4 查看对象内部结构
9.4.5 exists()函数
第10章 输入与输出
10.1 连接键盘与显示器
10.1.1 使用scan()函数
10.1.2 使用readline()函数
10.1.3 输出到显示器
10.2 读写文件
10.2.1 从文件中读取数据框或矩阵
10.2.2 读取文本文件
10.2.3 连接的介绍
10.2.4 扩展案例:读取PUMS普查数据
10.2.5 通过URL在远程计算机上访问文件
10.2.6 写文件
10.2.7 获取文件和目录信息
10.2.8 扩展案例:多个文件内容的和
10.3 访问互联网
10.3.1 TCP/IP概述
10.3.2 R中的socket
10.3.3 扩展案例:实现R的并行计算
第11章 字符串操作
11.1 字符串操作函数概述
11.1.1 grep()
11.1.2 nchar()
11.1.3 paste()
11.1.4 sprintf()
11.1.5 substr()
11.1.6 strsplit()
11.1.7 regexpr()
11.1.8 gregexpr()
11.2 正则表达式
11.2.1 扩展案例:检测文件名的后缀
11.2.2 扩展案例:生成文件名
11.3 在调试工具edtdbg中使用字符串工具
第12章 绘图
12.1 创建图形
12.1.1 基础图形系统的核心:plot()函数
12.1.2 添加线条:abline()函数
12.1.3 在保持现有图形的基础上新增一个绘图窗口
12.1.4 扩展案例:在一张图中绘制两条密度曲线
12.1.5 扩展案例:进一步考察多项式回归
12.1.6 添加点:points()函数
12.1.7 添加图例:legend()函数
12.1.8 添加文字:text()函数
12.1.9 精确定位:locator()函数
12.1.10 保存图形
12.2 定制图形
12.2.1 改变字符大小:cex选项
12.2.2 改变坐标轴的范围:xlim和ylim选项
12.2.3 添加多边形:polygon()函数
12.2.4 平滑散点:lowess()和loess()函数
12.2.5 绘制具有显式表达式的函数
12.2.6 扩展案例:放大曲线的一部分
12.3 将图形保存到文件
12.3.1 R图形设备
12.3.2 保存已显示的图形
12.3.3 关闭R图形设备
12.4 创建三维图形
第13章 调试
13.1 调试的基本原则
13.1.1 调试的本质:确认原则
13.1.2 从小处着手
13.1.3 模块化的、自顶向下的调试风格
13.1.4 反漏洞
13.2 为什么要使用调试工具
13.3 使用R的调试工具
13.3.1 利用debug()和browser()函数进行逐步调试
13.3.2 使用浏览器命令
13.3.3 设置断点
13.3.4 使用trace()函数进行追踪
13.3.5 使用traceback()和debugger()函数对崩溃的程序进行检查
13.3.6 扩展案例:两个完整的调试会话
13.4 更方便的调试工具
13.5 在调试模拟数据的代码时请确保一致性
13.6 语法和运行时错误
13.7 在R上运行GDB
第14章 性能提升:速度和内存
14.1 编写快速的R代码
14.2 可怕的for循环
14.2.1 用向量化提升速度
14.2.2 扩展案例:在蒙特卡罗模拟中获得更快的速度
14.2.3 扩展案例:生成幂次矩阵
14.3 函数式编程和内存问题
14.3.1 向量赋值问题
14.3.2 改变时拷贝
14.3.3 扩展案例:避免内存拷贝
14.4 利用Rprof()来寻找代码的瓶颈
14.4.1 利用Rprof()来进行监视
14.4.2 Rprof()的工作原理
14.5 字节码编译
14.6 内存无法装下数据怎么办
14.6.1 分块
14.6.2 利用R软件包来进行内存管理
第15章 R与其他语言的接口
15.1 编写能被R调用的C/C++函数
15.1.1 R与C/C++交互的预备知识
15.1.2 例子:提取方阵的次对角线元素
15.1.3 编译和运行程序
15.1.4 调试R/C程序
15.1.5 扩展案例:预测离散取值的时间序列
15.2 从Python调用R
15.2.1 安装RPy
15.2.2 RPy语法
第16章 R语言并行计算
16.1 共同外链问题
16.2 snow包简介
16.2.1 运行snow代码
16.2.2 分析snow代码
16.2.3 可以获得多少倍的加速
16.2.4 扩展案例:K均值聚类
16.3 借助于C
16.3.1 利用多核机器
16.3.2 扩展案例:利用OpenMP解决共同外链问题
16.3.3 运行OpenMP代码
16.3.4 OpenMP代码分析
16.3.5 其他OpenMP指令
16.3.6 GPU编程
16.4 普遍的性能考虑
16.4.1 开销的来源
16.4.2 简单并行程序,以及那些不简单的
16.4.3 静态和动态任务分配
16.4.4 软件炼金术:将一般的问题转化为简单并行问题
16.5 调试R语言并行计算的代码
附录A 安装R
附录B 安装和使用包
《R语言经典实例》目录:
前言
第1章 R入门和获得帮助
1.1 下载和安装R软件
1.2 开始运行R软件
1.3 输入R命令
1.4 退出R
1.5 中断R正在运行的程序
1.6 查看帮助文档
1.7 获取函数的帮助文档
1.8 搜索帮助文档
1.9 查看R软件包帮助信息
1.10 通过网络获取帮助
1.11 寻找相关函数与数据包
1.12 查询邮件列表
1.13 向邮件列表提交问题
第2章 基础知识
2.1 显示内容
2.2 设定变量
2.3 列出所有变量
2.4 删除变量
2.5 生成向量
2.6 计算基本统计量
2.7 生成数列
2.8 向量比较
2.9 选取向量中的元素
2.10 向量的计算
2.11 运算符优先级问题
2.12 定义函数
2.13 减少输入,得到更多命令
2.14 常见错误
第3章 R软件导览
3.1 获取和设定工作目录
3.2 保存工作空间
3.3 查看历史命令记录
3.4 保存先前命令产生的结果
3.5 显示搜索路径
3.6 使用R包中的函数
3.7 使用R的内置数据集
3.8 查看已安装的R包列表
3.9 从CRAN网站安装R包
3.10 设定默认CRAN网站镜像
3.11 隐藏启动信息
3.12 运行脚本
3.13 批量运行R代码
3.14 获取和设定环境变量
3.15 找到R的主目录
3.16 R的客户化
第4章 输入与输出
4.1 使用键盘输入数据
4.2 显示更少的位数(或更多的位数)
4.3 将输出结果重定向到某一文件
4.4 显示文件列表
4.5 解决无法在Windows中打开文件的问题
4.6 阅读固定宽度数据记录
4.7 读取表格数据文件
4.8 读取CSV文件
4.9 写入CSV文件
4.10 从网络中读取表格或CSV格式数据
4.11 读取HTML表格数据
4.12 读取复杂格式数据文件
4.13 读取MySQL数据库中的数据
4.14 保存和传送目标
第5章 数据结构
5.1 对向量添加数据
5.2 在向量中插入数据
5.3 理解循环规则
5.4 构建因子(即分类变量)
5.5 将多个向量合并成单个向量以及平行因子
5.6 创建列表
5.7 根据位置选定列表元素
5.8 根据名称选定列表元素
5.9 构建一个名称/值关联表
5.10 从列表中移除元素
5.11 将列表转换为向量
5.12 从列表中移除取值为空值(即NULL)的元素
5.13 使用条件来移除列表元素
5.14 矩阵初始化
5.15 执行矩阵运算
5.16 将描述性名称赋给矩阵的行和列
5.17 从矩阵中选定一行或一列
5.18 用列数据初始化数据框
5.19 由行数据初始化数据框
5.20 添加行至数据框
5.21 预分配数据框
5.22 根据位置选择数据框的列
5.23 根据列名选定数据框的列
5.24 更便捷地选定行和列
5.25 修改数据框的列名
5.26 编辑数据框
5.27 从数据框中移除NA值
5.28 根据名称排除列
5.29 合并两个数据框
5.30 根据共有列合并数据框
5.31 更便捷地访问数据框内容
5.32 基本数据类型之间的转换
5.33 不同结构化数据类型间的转换
第6章 数据转换
6.1 向量分组
6.2 将函数应用于每个列表元素
6.3 将函数应用于每行
6.4 将函数应用于每列
6.5 将函数应用于组数据
6.6 将函数应用于行组
6.7 将函数应用于平行向量或列表
第7章 字符串和日期
7.1 获取字符串长度
7.2 连接字符串
7.3 提取子串
7.4 根据分隔符分割字符串
7.5 替代子串
7.6 查看字符串中的特殊字符
7.7 生成字符串的所有成对组合
7.8 得到当前日期
7.9 转换字符串为日期
7.10 转换日期为字符串
7.11 转化年、月、日为日期
7.12 得到儒略日期
7.13 提取日期的一部分
7.14 创建日期序列
第8章 概率
8.1 计算组合数
8.2 生成组合
8.3 生成随机数
8.4 生成可再生的随机数
8.5 生成随机样本
8.6 生成随机序列
8.7 随机排列向量
8.8 计算离散分布的概率
8.9 计算连续分布的概率
8.10 转换概率为分位数
8.11 绘制密度函数
第9章 统计概论
9.1 汇总数据
9.2 计算相对频数
9.3 因子制表和列联表创建
9.4 检验分类变量独立性
9.5 计算数据集的分位数(和四分位数)
9.6 求分位数的逆
9.7 数据转换为z分数
9.8 检验样本均值(t检验)
9.9 均值的置信区间
9.10 中位数的置信区间
9.11 检验样本比例
9.12 比例的置信区间
9.13 检验正态性
9.14 游程检验
9.15 比较两个样本的均值
9.16 比较两个非参数样本的位置
9.17 检验相关系数的显著性
9.18 检验组的等比例
9.19 组均值间成对比较
9.20 检验两样本的相同分布
第10章 图形
10.1 创建散点图
10.2 添加标题和标签
10.3 添加网格
10.4 创建多组散点图
10.5 添加图例
10.6 绘制散点图的回归线
10.7 多变量散点图的绘制
10.8 创建每个因子水平的散点图
10.9 创建条形图
10.10 对条形图添加置信区间
10.11 给条形图上色
10.12 绘制过点x和y的线
10.13 改变线的类型、宽度或者颜色
10.14 绘制多个数据集
10.15 添加垂直线和水平线
10.16 创建箱线图
10.17 对每个因子水平创建箱线图
10.18 创建直方图
10.19 对直方图添加密度估计
10.20 创建离散直方图
10.21 创建正态Q-Q图
10.22 创建其他Q-Q图
10.23 用多种颜色绘制变量
10.24 绘制函数
10.25 图形间暂停
10.26 在一页中显示多个图形
10.27 打开另一个图形窗口
10.28 在文档中绘制图形
10.29 改变图形参数
第11章 线性回归和方差分析
11.1 简单线性回归
11.2 多元线性回归
11.3 得到回归统计量
11.4 理解回归的汇总结果
11.5 运行无截距的线性回归
11.6 运行有交户项的线性回归
11.7 选择最合适的回归变量
11.8 对数据子集回归
11.9 在回归公式中使用表达式
11.10 多项式回归
11.11 转换数据的回归
11.12 寻找最佳幂变换
11.13 回归系数的置信区间
11.14 绘制回归残差
11.15 诊断线性回归
11.16 识别有影响的观察值
11.17 残差自相关检验
11.18 预测新值
11.19 建立预测区间
11.20 运行单因素方差分析
11.21 创建交互关系图
11.22 找到组间均值的不同
11.23 执行稳健方差分析
11.24 运用方差分析比较模型
第12章 有用的方法
12.1 查看你的数据
12.2 拓宽你的输出
12.3 输出赋值结果
12.4 对行和列求和
12.5 按列输出数据
12.6 对数据分级
12.7 找到特定值的位置
12.8 每隔n个选定一个向量元素
12.9 找到成对的最小值或者最大值
12.10 生成多个因子的组合
12.11 转换一个数据框
12.12 对数据框排序
12.13 对两列排序
12.14 移除变量属性
12.15 显示对象的结构
12.16 代码运行时间
12.17 抑制警告和错误消息
12.18 从列表中提取函数参数
12.19 定义你自己的二元运算符
第13章 高级数值分析和统计方法
13.1 最小化或者最大化一个单参数函数
13.2 最小化或者最大化多参数函数
13.3 计算特征值和特征向量
13.4 主成分分析
13.5 简单正交回归
13.6 数据的聚类
13.7 预测二元变量(逻辑回归)
13.8 统计量的自助法
13.9 因子分析
第14章 时间序列分析
14.1 表示时间序列
14.2 绘制时序图
14.3 提取最老的观测值或者最新的观测值
14.4 选取时间序列的子集
14.5 合并多个时间序列
14.6 缺失时间序列的填充
14.7 时间序列的滞后
14.8 计算逐次差分
14.9 时间序列相关的计算
14.10 计算移动平均
14.11 在日历时间范围内应用函数
14.12 应用滚动函数
14.13 绘制自相关函数图
14.14 检验时间序列的自相关
14.15 绘制偏自相关函数
14.16 两个时间序列间的滞后相关性
14.17 剔除时间序列的趋势
14.18 拟合ARIMA模型
14.19 剔除ARIMA模型中不显著的系数
14.20 对ARIMA模型进行诊断
14.21 用ARIMA模型进行预测
14.22 均值回归的检验
14.23 时间序列的平滑
……
^ 收 起
译者序
前 言
致 谢
第1章 快速入门
1.1 怎样运行R
1.1.1 交互模式
1.1.2 批处理模式
1.2 第一个R会话
1.3 函数入门
1.3.1 变量的作用域
1.3.2 默认参数
1.4 R语言中一些重要的数据结构
1.4.1 向量,R语言中的战斗机
1.4.2 字符串
1.4.3 矩阵
1.4.4 列表
1.4.5 数据框
1.4.6 类
1.5 扩展案例:考试成绩的回归分析
1.6 启动和关闭R
1.7 获取帮助
1.7.1 help()函数
1.7.2 example()函数
1.7.3 如果你不太清楚要查找什么
1.7.4 其他主题的帮助
1.7.5 批处理模式的帮助
1.7.6 互联网资源
第2章 向量
2.1 标量、向量、数组与矩阵
2.1.1 添加或删除向量元素
2.1.2 获取向量长度
2.1.3 作为向量的矩阵和数组
2.2 声明
2.3 循环补齐
2.4 常用的向量运算
2.4.1 向量运算和逻辑运算
2.4.2 向量索引
2.4.3 用:运算符创建向量
2.4.4 使用seq()创建向量
2.4.5 使用rep()重复向量常数
2.5 使用all()和any()
2.5.1 扩展案例:寻找连续出现1的游程
2.5.2 扩展案例:预测离散值时间序列
2.6 向量化运算符
2.6.1 向量输入,向量输出
2.6.2 向量输入,矩阵输出
2.7 NA与NULL值
2.7.1 NA的使用
2.7.2 NULL的使用
2.8 筛选
2.8.1 生成筛选索引
2.8.2 使用subset()函数筛选
2.8.3 选择函数which()
2.9 向量化的ifelse()函数
2.9.1 扩展案例:度量相关性
2.9.2 扩展案例:对鲍鱼数据集重新编码
2.10 测试向量相等
2.11 向量元素的名称
2.12 关于c()的更多内容
第3章 矩阵和数组
3.1 创建矩阵
3.2 一般矩阵运算
3.2.1 线性代数运算
3.2.2 矩阵索引
3.2.3 扩展案例:图像操作
3.2.4 矩阵元素筛选
3.2.5 扩展案例:生成协方差矩阵
3.3 对矩阵的行和列调用函数
3.3.1 使用apply()函数
3.3.2 扩展案例:寻找异常值
3.4 增加或删除矩阵的行或列
3.4.1 改变矩阵的大小
3.4.2 扩展案例:找到图中距离最近的一对端点
3.5 向量与矩阵的差异
3.6 避免意外降维
3.7 矩阵的行和列的命名问题
3.8 高维数组
第4章 列表
4.1 创建列表
4.2 列表的常规操作
4.2.1 列表索引
4.2.2 增加或删除列表元素
4.2.3 获取列表长度
4.2.4 扩展案例:文本词汇索引
4.3 访问列表元素和值
4.4 在列表上使用apply系列函数
4.4.1 lapply()和sapply()的使用
4.4.2 扩展案例:文本词汇索引(续)
4.4.3 扩展案例:鲍鱼数据
4.5 递归型列表
第5章 数据框
5.1 创建数据框
5.1.1 访问数据框
5.1.2 扩展案例:考试成绩的回归分析(续)
5.2 其他矩阵式操作
5.2.1 提取子数据框
5.2.2 缺失值的处理
5.2.3 使用rbind()和cbind()等函数
5.2.4 使用apply()
5.2.5 扩展案例:工资研究
5.3 合并数据框
5.4 应用于数据框的函数
5.4.1 在数据框上应用lapply()和sapply()函数
5.4.2 扩展案例:应用Logistic模型
5.4.3 扩展案例:学习中文方言的辅助工具
第6章 因子和表
6.1 因子与水平
6.2 因子的常用函数
6.2.1 tapply函数
6.2.2 split()函数
6.2.3 by()函数
6.3 表的操作
6.3.1 表中有关矩阵和类似数组的操作
6.3.2 扩展案例: 提取子表
6.3.3 扩展案例:在表中寻找频数最大的单元格
6.4 其他与因子和表有关的函数
6.4.1 aggregate()函数
6.4.2 cut()函数
第7章 R语言编程结构
7.1 控制语句
7.1.1 循环
7.1.2 对非向量集合的循环
7.1.3 if-else结构
7.2 算术和逻辑运算符及数值
7.3 参数的默认值
7.4 返回值
7.4.1 决定是否显式调用return ()
7.4.2 返回复杂对象
7.5 函数都是对象
7.6 环境和变量作用域的问题
7.6.1 顶层环境
7.6.2 变量作用域的层次
7.6.3 关于ls()的进一步讨论
7.6.4 函数(几乎)没有副作用
7.6.5 扩展案例:显示调用框的函数
7.7 R语言中没有指针
7.8 向上级层次进行写操作
7.8.1 利用超赋值运算符对非局部变量进行写操作
7.8.2 用assign()函数对非局部变量进行写操作
7.8.3 扩展案例:用R语言实现离散事件仿真
7.8.4 什么时候使用全局变量
7.8.5 闭包
7.9 递归
7.9.1 Quicksort的具体实现
7.9.2 拓展举例:二叉查找树
7.10 置换函数
7.10.1 什么是置换函数
7.10.2 扩展案例:可记录元素修改次数的向量类
7.11 写函数代码的工具
7.11.1 文本编辑器和集成开发环境
7.11.2 edit()函数
7.12 创建自己的二元运算符
7.13 匿名函数
第8章 数学运算与模拟
8.1 数学函数
8.1.1 扩展例子:计算概率
8.1.2 累积和与累积乘积
8.1.3 最小值和最大值
8.1.4 微积分
8.2 统计分布函数
8.3 排序
8.4 向量和矩阵的线性代数运算
8.4.1 扩展示例:向量叉积
8.4.2 扩展示例:确定马尔科夫链的平稳分布
8.5 集合运算
8.6 用R做模拟
8.6.1 内置的随机变量发生器
8.6.2 重复运行时获得相同的随机数流
8.6.3 扩展案例:组合的模拟
第9章 面向对象的编程
9.1 S3类
9.1.1 S3泛型函数
9.1.2 实例:线性模型函数lm()中的OOP
9.1.3 寻找泛型函数的实现方法
9.1.4 编写S3类
9.1.5 使用继承
9.1.6 扩展示例:用于存储上三角矩阵的类
9.1.7 扩展示例:多项式回归程序
9.2 S4类
9.2.1 编写S4类
9.2.2 在S4类上实现泛型函数
9.3 S3类和S4类的对比
9.4 对象的管理
9.4.1 用ls()函数列出所有对象
9.4.2 用rm()函数删除特定对象
9.4.3 用save()函数保存对象集合
9.4.4 查看对象内部结构
9.4.5 exists()函数
第10章 输入与输出
10.1 连接键盘与显示器
10.1.1 使用scan()函数
10.1.2 使用readline()函数
10.1.3 输出到显示器
10.2 读写文件
10.2.1 从文件中读取数据框或矩阵
10.2.2 读取文本文件
10.2.3 连接的介绍
10.2.4 扩展案例:读取PUMS普查数据
10.2.5 通过URL在远程计算机上访问文件
10.2.6 写文件
10.2.7 获取文件和目录信息
10.2.8 扩展案例:多个文件内容的和
10.3 访问互联网
10.3.1 TCP/IP概述
10.3.2 R中的socket
10.3.3 扩展案例:实现R的并行计算
第11章 字符串操作
11.1 字符串操作函数概述
11.1.1 grep()
11.1.2 nchar()
11.1.3 paste()
11.1.4 sprintf()
11.1.5 substr()
11.1.6 strsplit()
11.1.7 regexpr()
11.1.8 gregexpr()
11.2 正则表达式
11.2.1 扩展案例:检测文件名的后缀
11.2.2 扩展案例:生成文件名
11.3 在调试工具edtdbg中使用字符串工具
第12章 绘图
12.1 创建图形
12.1.1 基础图形系统的核心:plot()函数
12.1.2 添加线条:abline()函数
12.1.3 在保持现有图形的基础上新增一个绘图窗口
12.1.4 扩展案例:在一张图中绘制两条密度曲线
12.1.5 扩展案例:进一步考察多项式回归
12.1.6 添加点:points()函数
12.1.7 添加图例:legend()函数
12.1.8 添加文字:text()函数
12.1.9 精确定位:locator()函数
12.1.10 保存图形
12.2 定制图形
12.2.1 改变字符大小:cex选项
12.2.2 改变坐标轴的范围:xlim和ylim选项
12.2.3 添加多边形:polygon()函数
12.2.4 平滑散点:lowess()和loess()函数
12.2.5 绘制具有显式表达式的函数
12.2.6 扩展案例:放大曲线的一部分
12.3 将图形保存到文件
12.3.1 R图形设备
12.3.2 保存已显示的图形
12.3.3 关闭R图形设备
12.4 创建三维图形
第13章 调试
13.1 调试的基本原则
13.1.1 调试的本质:确认原则
13.1.2 从小处着手
13.1.3 模块化的、自顶向下的调试风格
13.1.4 反漏洞
13.2 为什么要使用调试工具
13.3 使用R的调试工具
13.3.1 利用debug()和browser()函数进行逐步调试
13.3.2 使用浏览器命令
13.3.3 设置断点
13.3.4 使用trace()函数进行追踪
13.3.5 使用traceback()和debugger()函数对崩溃的程序进行检查
13.3.6 扩展案例:两个完整的调试会话
13.4 更方便的调试工具
13.5 在调试模拟数据的代码时请确保一致性
13.6 语法和运行时错误
13.7 在R上运行GDB
第14章 性能提升:速度和内存
14.1 编写快速的R代码
14.2 可怕的for循环
14.2.1 用向量化提升速度
14.2.2 扩展案例:在蒙特卡罗模拟中获得更快的速度
14.2.3 扩展案例:生成幂次矩阵
14.3 函数式编程和内存问题
14.3.1 向量赋值问题
14.3.2 改变时拷贝
14.3.3 扩展案例:避免内存拷贝
14.4 利用Rprof()来寻找代码的瓶颈
14.4.1 利用Rprof()来进行监视
14.4.2 Rprof()的工作原理
14.5 字节码编译
14.6 内存无法装下数据怎么办
14.6.1 分块
14.6.2 利用R软件包来进行内存管理
第15章 R与其他语言的接口
15.1 编写能被R调用的C/C++函数
15.1.1 R与C/C++交互的预备知识
15.1.2 例子:提取方阵的次对角线元素
15.1.3 编译和运行程序
15.1.4 调试R/C程序
15.1.5 扩展案例:预测离散取值的时间序列
15.2 从Python调用R
15.2.1 安装RPy
15.2.2 RPy语法
第16章 R语言并行计算
16.1 共同外链问题
16.2 snow包简介
16.2.1 运行snow代码
16.2.2 分析snow代码
16.2.3 可以获得多少倍的加速
16.2.4 扩展案例:K均值聚类
16.3 借助于C
16.3.1 利用多核机器
16.3.2 扩展案例:利用OpenMP解决共同外链问题
16.3.3 运行OpenMP代码
16.3.4 OpenMP代码分析
16.3.5 其他OpenMP指令
16.3.6 GPU编程
16.4 普遍的性能考虑
16.4.1 开销的来源
16.4.2 简单并行程序,以及那些不简单的
16.4.3 静态和动态任务分配
16.4.4 软件炼金术:将一般的问题转化为简单并行问题
16.5 调试R语言并行计算的代码
附录A 安装R
附录B 安装和使用包
《R语言经典实例》目录:
前言
第1章 R入门和获得帮助
1.1 下载和安装R软件
1.2 开始运行R软件
1.3 输入R命令
1.4 退出R
1.5 中断R正在运行的程序
1.6 查看帮助文档
1.7 获取函数的帮助文档
1.8 搜索帮助文档
1.9 查看R软件包帮助信息
1.10 通过网络获取帮助
1.11 寻找相关函数与数据包
1.12 查询邮件列表
1.13 向邮件列表提交问题
第2章 基础知识
2.1 显示内容
2.2 设定变量
2.3 列出所有变量
2.4 删除变量
2.5 生成向量
2.6 计算基本统计量
2.7 生成数列
2.8 向量比较
2.9 选取向量中的元素
2.10 向量的计算
2.11 运算符优先级问题
2.12 定义函数
2.13 减少输入,得到更多命令
2.14 常见错误
第3章 R软件导览
3.1 获取和设定工作目录
3.2 保存工作空间
3.3 查看历史命令记录
3.4 保存先前命令产生的结果
3.5 显示搜索路径
3.6 使用R包中的函数
3.7 使用R的内置数据集
3.8 查看已安装的R包列表
3.9 从CRAN网站安装R包
3.10 设定默认CRAN网站镜像
3.11 隐藏启动信息
3.12 运行脚本
3.13 批量运行R代码
3.14 获取和设定环境变量
3.15 找到R的主目录
3.16 R的客户化
第4章 输入与输出
4.1 使用键盘输入数据
4.2 显示更少的位数(或更多的位数)
4.3 将输出结果重定向到某一文件
4.4 显示文件列表
4.5 解决无法在Windows中打开文件的问题
4.6 阅读固定宽度数据记录
4.7 读取表格数据文件
4.8 读取CSV文件
4.9 写入CSV文件
4.10 从网络中读取表格或CSV格式数据
4.11 读取HTML表格数据
4.12 读取复杂格式数据文件
4.13 读取MySQL数据库中的数据
4.14 保存和传送目标
第5章 数据结构
5.1 对向量添加数据
5.2 在向量中插入数据
5.3 理解循环规则
5.4 构建因子(即分类变量)
5.5 将多个向量合并成单个向量以及平行因子
5.6 创建列表
5.7 根据位置选定列表元素
5.8 根据名称选定列表元素
5.9 构建一个名称/值关联表
5.10 从列表中移除元素
5.11 将列表转换为向量
5.12 从列表中移除取值为空值(即NULL)的元素
5.13 使用条件来移除列表元素
5.14 矩阵初始化
5.15 执行矩阵运算
5.16 将描述性名称赋给矩阵的行和列
5.17 从矩阵中选定一行或一列
5.18 用列数据初始化数据框
5.19 由行数据初始化数据框
5.20 添加行至数据框
5.21 预分配数据框
5.22 根据位置选择数据框的列
5.23 根据列名选定数据框的列
5.24 更便捷地选定行和列
5.25 修改数据框的列名
5.26 编辑数据框
5.27 从数据框中移除NA值
5.28 根据名称排除列
5.29 合并两个数据框
5.30 根据共有列合并数据框
5.31 更便捷地访问数据框内容
5.32 基本数据类型之间的转换
5.33 不同结构化数据类型间的转换
第6章 数据转换
6.1 向量分组
6.2 将函数应用于每个列表元素
6.3 将函数应用于每行
6.4 将函数应用于每列
6.5 将函数应用于组数据
6.6 将函数应用于行组
6.7 将函数应用于平行向量或列表
第7章 字符串和日期
7.1 获取字符串长度
7.2 连接字符串
7.3 提取子串
7.4 根据分隔符分割字符串
7.5 替代子串
7.6 查看字符串中的特殊字符
7.7 生成字符串的所有成对组合
7.8 得到当前日期
7.9 转换字符串为日期
7.10 转换日期为字符串
7.11 转化年、月、日为日期
7.12 得到儒略日期
7.13 提取日期的一部分
7.14 创建日期序列
第8章 概率
8.1 计算组合数
8.2 生成组合
8.3 生成随机数
8.4 生成可再生的随机数
8.5 生成随机样本
8.6 生成随机序列
8.7 随机排列向量
8.8 计算离散分布的概率
8.9 计算连续分布的概率
8.10 转换概率为分位数
8.11 绘制密度函数
第9章 统计概论
9.1 汇总数据
9.2 计算相对频数
9.3 因子制表和列联表创建
9.4 检验分类变量独立性
9.5 计算数据集的分位数(和四分位数)
9.6 求分位数的逆
9.7 数据转换为z分数
9.8 检验样本均值(t检验)
9.9 均值的置信区间
9.10 中位数的置信区间
9.11 检验样本比例
9.12 比例的置信区间
9.13 检验正态性
9.14 游程检验
9.15 比较两个样本的均值
9.16 比较两个非参数样本的位置
9.17 检验相关系数的显著性
9.18 检验组的等比例
9.19 组均值间成对比较
9.20 检验两样本的相同分布
第10章 图形
10.1 创建散点图
10.2 添加标题和标签
10.3 添加网格
10.4 创建多组散点图
10.5 添加图例
10.6 绘制散点图的回归线
10.7 多变量散点图的绘制
10.8 创建每个因子水平的散点图
10.9 创建条形图
10.10 对条形图添加置信区间
10.11 给条形图上色
10.12 绘制过点x和y的线
10.13 改变线的类型、宽度或者颜色
10.14 绘制多个数据集
10.15 添加垂直线和水平线
10.16 创建箱线图
10.17 对每个因子水平创建箱线图
10.18 创建直方图
10.19 对直方图添加密度估计
10.20 创建离散直方图
10.21 创建正态Q-Q图
10.22 创建其他Q-Q图
10.23 用多种颜色绘制变量
10.24 绘制函数
10.25 图形间暂停
10.26 在一页中显示多个图形
10.27 打开另一个图形窗口
10.28 在文档中绘制图形
10.29 改变图形参数
第11章 线性回归和方差分析
11.1 简单线性回归
11.2 多元线性回归
11.3 得到回归统计量
11.4 理解回归的汇总结果
11.5 运行无截距的线性回归
11.6 运行有交户项的线性回归
11.7 选择最合适的回归变量
11.8 对数据子集回归
11.9 在回归公式中使用表达式
11.10 多项式回归
11.11 转换数据的回归
11.12 寻找最佳幂变换
11.13 回归系数的置信区间
11.14 绘制回归残差
11.15 诊断线性回归
11.16 识别有影响的观察值
11.17 残差自相关检验
11.18 预测新值
11.19 建立预测区间
11.20 运行单因素方差分析
11.21 创建交互关系图
11.22 找到组间均值的不同
11.23 执行稳健方差分析
11.24 运用方差分析比较模型
第12章 有用的方法
12.1 查看你的数据
12.2 拓宽你的输出
12.3 输出赋值结果
12.4 对行和列求和
12.5 按列输出数据
12.6 对数据分级
12.7 找到特定值的位置
12.8 每隔n个选定一个向量元素
12.9 找到成对的最小值或者最大值
12.10 生成多个因子的组合
12.11 转换一个数据框
12.12 对数据框排序
12.13 对两列排序
12.14 移除变量属性
12.15 显示对象的结构
12.16 代码运行时间
12.17 抑制警告和错误消息
12.18 从列表中提取函数参数
12.19 定义你自己的二元运算符
第13章 高级数值分析和统计方法
13.1 最小化或者最大化一个单参数函数
13.2 最小化或者最大化多参数函数
13.3 计算特征值和特征向量
13.4 主成分分析
13.5 简单正交回归
13.6 数据的聚类
13.7 预测二元变量(逻辑回归)
13.8 统计量的自助法
13.9 因子分析
第14章 时间序列分析
14.1 表示时间序列
14.2 绘制时序图
14.3 提取最老的观测值或者最新的观测值
14.4 选取时间序列的子集
14.5 合并多个时间序列
14.6 缺失时间序列的填充
14.7 时间序列的滞后
14.8 计算逐次差分
14.9 时间序列相关的计算
14.10 计算移动平均
14.11 在日历时间范围内应用函数
14.12 应用滚动函数
14.13 绘制自相关函数图
14.14 检验时间序列的自相关
14.15 绘制偏自相关函数
14.16 两个时间序列间的滞后相关性
14.17 剔除时间序列的趋势
14.18 拟合ARIMA模型
14.19 剔除ARIMA模型中不显著的系数
14.20 对ARIMA模型进行诊断
14.21 用ARIMA模型进行预测
14.22 均值回归的检验
14.23 时间序列的平滑
……
^ 收 起
Norman Matloff,著名计算机科学家兼统计学家,美国加州大学戴维斯分校计算机科学系教授,曾是该校统计专业的创建者之一,并担任过统计学教授,对并行编程、网络流量、数据挖掘、磁盘系统性能等方面的技术都有深入的研究。他乐于分享,撰写了多部广受欢迎的关于软件开发的在线教程,多次为《纽约时报》、《华盛顿邮报》、《福布斯杂志》以及《洛杉矶时报》撰写文章,是《The Art of Debugging》的作者之一。
《R语言编程艺术》内容简介: 《R语言编程艺术》是R语言领域公认的经典著作,由著名计算机科学家兼统计学家撰写,它是一本面向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语言经典实例》内容简介: 《R语言经典实例》涵盖200多个R语言实用方法 ,可以帮助读者快速而有效地使用R进行数据分析。R语言给我们提供了统计分析酣一切工具,但是R本身 的结构可能有些难于掌握。本书提供的这些面向任务、简明的R语言方法包含了从基本的分析任务到输入 和输出、常用统计分析、绘图、线性回归等内容,它们可以让你马上应用R高效地工作。 每一个R语言方法都专注于一个特定的问题,随后的讨论则对问题的解决方案给出解释,并阐释该方 法的工作机理。对于R的初级用户,《R语言经典实例》将帮助你步入R;对于R的资深用户,本书将 加深你对R的理解并拓展你的视野。通过本书,你可以使你的分析工作顺利完成并学习更多R语言知识。
^ 收 起
^ 收 起
比价列表
商家 | 评价 (0) | 折扣 | 价格 |
暂无 | 京东缺货N个月 | 18天前更新 |