logo资料库

R 导论 (R语言手册)中文版.pdf

第1页 / 共134页
第2页 / 共134页
第3页 / 共134页
第4页 / 共134页
第5页 / 共134页
第6页 / 共134页
第7页 / 共134页
第8页 / 共134页
资料共134页,剩余部分请下载后查看
序言
对读者的建议
译者前言一(摘自05年网页版)
译者前言二(本PDF版)
绪论
R 环境
相关软件和文档
R 和统计
R 和桌面系统
交互式使用 R
一个引导性的 R 会话
通过函数和特征寻求帮助
R 命令,大小写敏感等
重新调用和修正先前的命令
批处理文件和结果重定向
永久数据和对象删除
简单的算术操作和向量运算
向量和赋值
向量运算
生成正则序列
逻辑向量
缺损值
字符向量
索引向量;选择和修改一个数据集的子集
其他类型的对象
对象及它们的模式和属性
内在属性:模式和长度
改变对象长度
读取和设置属性
对象的类
有序因子和无序因子
一个特别的例子
函数 tapply() 和不规则数组
有序因子
数组和矩阵
数组
数组索引以及数组分割
索引数组
array() 函数
向量和数组混合运算以及循环使用原则
数组的外积
数组的广义转置
矩阵工具
矩阵相乘
线性方程和求逆
特征值和特征向量
奇异值分解和行列式
最小二乘法拟合和 QR 分解
用 cbind() 和 rbind() 构建分块矩阵
对数组实现连接操作的函数c()
因子的频率表
列表和数据框
列表
构建和修改列表
列表连接
数据框
创建数据框
attach() 和 detach()
使用数据框
绑定任意的列表
管理搜索路径
从文件中读取数据
read.table()函数
scan() 函数
访问内置数据
从其他 R 包里面导入数据
编辑数据
概率分布
R 的统计表
检验一个数据集的分布
单样本和双样本检验
成组,循环和条件控制
成组表达式
控制语句
条件控制:if语句
循环控制:for循环,repeat 和 while
编写函数
一个简单的例子
定义新的二元操作符
参数命名和默认值
ƒ 参数
在函数中赋值
更多高级的例子
区组设计中的效率因子
去除打印数组中的名字
递归式的数值积分
作用域
定制环境
类,泛型函数和面向对象
R中的统计模型
定义统计模型的公式
对照
线性模型
提取模型信息的泛型函数
方差分析和模型比较
方差分析表
更新拟合模型
广义线性模型
glm()函数
非线性最小二乘法和最大似然法模型
最小二乘法
最大似然法
一些非标准模型
图形工具
高级绘图命令
plot() 函数
显示多元数据
图形显示
高级图形命令的参数
低级图形函数
数学标注
Hershey 矢量字体
交互使用图形环境
使用图形参数
永久性地改变: par() 函数
临时性地改变:图形函数的参数
图形参数列表
图形元素
轴和刻度
图片边缘
多重图形环境
设备驱动
排版文档用的 PostScript 图表
多重图形设备
动态图形
标准包
捐献包和 CRAN
命名空间
附录1 一个演示会话
附录2 调用 R
以命令行调用 R
在 Windows 下调用 R
在 Mac OS X 下调用 R
附录3 命令行编辑器
预备工作
编辑
命令行编辑总结
附录4 概念索引
附录5 函数索引
附录6 参考文献
R 导论 关于 R 语言的注解:一个数据分析和图形显示的程序设计环境 英文版本2.3.0 (2006-04-24) 中文版本0.1 (2006-06-15) W. N. Venables, D. M. Smith R 核心开发小组(the R Development Core Team)
ii 英文文档的版权说明: Copyright c1990 W. N. Venables Copyright c1992 W. N. Venables & D. M. Smith Copyright c1997 R. Gentleman & R. Ihaka Copyright c1997, 1998 M. Maechler Copyright c1999–2006 R Development Core Team Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the R Development Core Team. 参考译文如下(具体以英文原文为准): 版权 c1990 W. N. Venables 版权 c1992 W. N. Venables & D. M. Smith 版权 c1997 R. Gentleman & R. Ihaka 版权 c1997, 1998 M. Maechler 版权 c1999–2006 R Development Core Team 在遵守并包含本文档版权声明的前提下,制作和发布本文档的完整拷贝是允许的。并且,所 有这些拷贝均受到本许可声明的保护。 在遵守上述完整拷贝版本有关版权声明的前提下,拷贝和发布基于本文档完整拷贝的修改版 本是允许的,并且,发布所有通过修改本文档而得到的工作成果,须使用与本文档的许可声 明一致的许可声明。 在遵守上述修改版本版权声明的前提下,拷贝和发布本文档其它语言的翻译版本是允许的, 如果本许可声明有经R 核心开发小组(R Development Core Team)核准的当地化译本,则遵 循当地化译本。 关于本中文翻译文档的版权声明: 本文档为自由文档(GNU FDL),在GNU自由文档许可证 (http://www.gnu.org/copyleft/fdl.html)下发布,不明示或者暗示有任何保证。本文档 可以自由复制,修改,散布,但请保留使用许可声明。
目录 序言 viii 0.1 对读者的建议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii . . . . . . . . . . . . . . . . . . . . . . . . viii 0.2 译者前言一(摘自05年网页版) 0.3 译者前言二(本PDF版) . . . . . . . . . . . . . . . . . . . . . . . . . . . . x 1 绪论 1.1 R 环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 相关软件和文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 R 和统计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 R 和桌面系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 交互式使用 R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 一个引导性的 R 会话 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7 通过函数和特征寻求帮助 . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8 R 命令,大小写敏感等 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9 重新调用和修正先前的命令 . . . . . . . . . . . . . . . . . . . . . . . . . 1.10 批处理文件和结果重定向 . . . . . . . . . . . . . . . . . . . . . . . . . . 1.11 永久数据和对象删除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 2 3 4 4 5 6 6 6 2 简单的算术操作和向量运算 8 8 2.1 向量和赋值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 向量运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 生成正则序列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 逻辑向量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 缺损值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6 字符向量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.7 索引向量;选择和修改一个数据集的子集 . . . . . . . . . . . . . . . . . 13 2.8 其他类型的对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
目录 iv 3 对象及它们的模式和属性 16 3.1 内在属性:模式和长度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2 改变对象长度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3 读取和设置属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4 对象的类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4 有序因子和无序因子 20 4.1 一个特别的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2 函数tapply() 和不规则数组 . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3 有序因子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5 数组和矩阵 23 5.1 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 数组索引以及数组分割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.3 索引数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.4 array() 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.4.1 向量和数组混合运算以及循环使用原则 . . . . . . . . . . . . . . . 26 5.5 数组的外积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.6 数组的广义转置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.7 矩阵工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.7.1 矩阵相乘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.7.2 线性方程和求逆 . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.7.3 特征值和特征向量 . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.7.4 奇异值分解和行列式 . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.7.5 最小二乘法拟合和QR 分解 . . . . . . . . . . . . . . . . . . . . . 31 5.8 用cbind() 和rbind() 构建分块矩阵 . . . . . . . . . . . . . . . . . . . . 31 5.9 对数组实现连接操作的函数c() . . . . . . . . . . . . . . . . . . . . . . . 32 5.10 因子的频率表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6 列表和数据框 34 6.1 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 6.2 构建和修改列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 6.2.1 列表连接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 6.3 数据框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.3.1 创建数据框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.3.2 attach() 和detach() . . . . . . . . . . . . . . . . . . . . . . . . 36 6.3.3 使用数据框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
目录 v 6.3.4 绑定任意的列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.3.5 管理搜索路径 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 7 从文件中读取数据 39 7.1 read.table()函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7.2 scan() 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 7.3 访问内置数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.3.1 从其他R 包里面导入数据 . . . . . . . . . . . . . . . . . . . . . . 42 7.4 编辑数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 8 概率分布 43 8.1 R 的统计表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 8.2 检验一个数据集的分布 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 8.3 单样本和双样本检验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 9 成组,循环和条件控制 52 9.1 成组表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.2 控制语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.2.1 条件控制:if语句 . . . . . . . . . . . . . . . . . . . . . . . . . . 52 9.2.2 循环控制:for循环,repeat 和while . . . . . . . . . . . . . . . 53 10 编写函数 54 10.1 一个简单的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 10.2 定义新的二元操作符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 10.3 参数命名和默认值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 10.4 . . . 参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 10.5 在函数中赋值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 10.6 更多高级的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 10.6.1 区组设计中的效率因子 . . . . . . . . . . . . . . . . . . . . . . . . 57 10.6.2 去除打印数组中的名字 . . . . . . . . . . . . . . . . . . . . . . . . 58 10.6.3 递归式的数值积分 . . . . . . . . . . . . . . . . . . . . . . . . . . 59 10.7 作用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 10.8 定制环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 10.9 类,泛型函数和面向对象 . . . . . . . . . . . . . . . . . . . . . . . . . . 63 11 R中的统计模型 66 11.1 定义统计模型的公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 11.1.1 对照 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
目录 vi 11.2 线性模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 11.3 提取模型信息的泛型函数 . . . . . . . . . . . . . . . . . . . . . . . . . . 70 11.4 方差分析和模型比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 11.4.1 方差分析表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 11.5 更新拟合模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 11.6 广义线性模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 11.6.1 族 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 11.6.2 glm()函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 11.7 非线性最小二乘法和最大似然法模型 . . . . . . . . . . . . . . . . . . . . 78 11.7.1 最小二乘法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 11.7.2 最大似然法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 11.8 一些非标准模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 12 图形工具 83 12.1 高级绘图命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 12.1.1 plot() 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 12.1.2 显示多元数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 12.1.3 图形显示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 12.1.4 高级图形命令的参数 . . . . . . . . . . . . . . . . . . . . . . . . . 86 12.2 低级图形函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 12.2.1 数学标注 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 12.2.2 Hershey 矢量字体 . . . . . . . . . . . . . . . . . . . . . . . . . . 89 12.3 交互使用图形环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 12.4 使用图形参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 12.4.1 永久性地改变: par() 函数 . . . . . . . . . . . . . . . . . . . . . . 90 12.4.2 临时性地改变:图形函数的参数 . . . . . . . . . . . . . . . . . . 91 12.5 图形参数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 12.5.1 图形元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 12.5.2 轴和刻度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 12.5.3 图片边缘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 12.5.4 多重图形环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 12.6 设备驱动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 12.6.1 排版文档用的PostScript 图表 . . . . . . . . . . . . . . . . . . . . 97 12.6.2 多重图形设备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 12.7 动态图形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
目录 vii 13 包 100 13.1 标准包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 13.2 捐献包和CRAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 13.3 命名空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 附录1 一个演示会话 102 附录2 调用R 108 13.4 以命令行调用R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 13.5 在Windows 下调用R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 13.6 在Mac OS X 下调用R . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 附录3 命令行编辑器 114 13.7 预备工作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 13.8 编辑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 13.9 命令行编辑总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 附录4 概念索引 附录5 函数索引 附录6 参考文献 116 118 122
序言 该文档改自Bill Venables 和David M. Smith (Insightful 公司) 描述 S 和 SPLUS 开发环境的讲义。我们只做了一些很小的修改以反映 R 和 S 的差异,并且扩充了一些 材料。 非常感谢Bill Venables 和David Smith 允许我们以这种方式发布该讲义的修改版 本以及他们一直以来对 R 不断的支持。 各种评论和校正可以通过电子邮件R-core@R-project.org 联系我们。对于中文版 的各种意见可以通过电子邮件ghding@gmail.com联系译者。 0.1 对读者的建议 大多数 R 语言的新手可以从附录A 中的引导性会话(session)<页码:102>入 手,进而对 R 会话( R sessions)有一些简单的认识。更为重要的是,新手将会从这 些 R 会话中对一些即时的命令获得实时的反馈。 可能有些用户仅仅关心 R 的绘图功能。在这种情况下,可以马上跳到有关绘图功 能的章节(见图形<页码:83> 一章),而没有必要把前面所有的章节都看完。 下面是译者对还没有安装R 程序用户的一个简单提示 新 用 户 可 以 去http://cran.r-project.org/mirrors.html, 随 便 找 一 个 可 以 访 问 的 镜 像 地 址 , 点 击 进 入 , 下 载“Precompiled Binary Distributions” 栏 中 的 软 件。如果是Windows 用户,可以点击“Windows (95 and later)”,进入“base”,下 载“rwxxxx.exe”(如rw2010.exe),然后像一般的Windows 软件安装即可。OK,你 可以试试附录A 中的引导性会话(session)<页码:102>了。 0.2 译者前言一(摘自05年网页版) 经过几周的努力,我终于完成了《R 导论》的翻译。这是一本关于R 环境入门的 教材,同时也是R 官方文档中面向大众用户的教材。一般用户只要看完这本《R 导 论》,并且运行完上面的例子,就可以解决大部分问题了。我没有把文档叫做R 入
分享到:
收藏