中国高校课件下载中心 》 教学资源 》 大学文库

《R语言》课程教学资源(文献资料)R语言简介——数据分析与绘图的编程环境

文档信息
资源类别:文库
文档格式:PDF
文档页数:72
文件大小:514.53KB
团购合买:点击进入团购
内容简介
Chapter 1 绪论与基础 Chapter 2 简单操作;数值与向量 Chapter 3 对象,模式和属性 Chapter 4 有序因子与无序因子 Chapter 5 数组和矩阵 Chapter 6 列表和数据帧 Chapter 7 从文件中读取数据 Chapter 8 概率分布 Chapter 9 语句组、循环和条件操作 Chapter 10 编写自己的函数 Chapter 11 R的统计模型 Chapter 12 图形过程
刷新页面文档预览

R语言简介 R语言笔记数据分析与绘图的编程环境 R Development Core Team June10.2006

R语言简介 R语言笔记:数据分析与绘图的编程环境 版本1.7 R Development Core Team June 10, 2006

Contents 1绪论与基础 1.1R语言环境 1 12相关的软件和文档 1.3R与统计 1.4R与视窗系统 .5R的交互使用 16入门训练 17获取函数和功能的帮助信息 18R的命令、对大小写的敏感,等等 19对已输入命令的记忆和更改 122233344 10命令文件的执行和输出的转向到文件 1.11数据的保持与对象的清除 2简单操作;数值与向量 2.1向量与赋值 2.2向量运算 23产生规则的序列 24逻辑向量 2.5缺失值 2.6字符向量 27索引向量( index vector);数据集子集的选择与修改 28对象的其他类型 5556777890 3对象,模式和属性 3.1固有属性:模式和长度 10 32改变对象的长度 11 33属性的获取和设置 11 34对象的类别 4有序因子与无序因子 41一个特例 42函数 tapply0与 ragged数组 22 43有序因子 5数组和矩阵 14 5.2数组的索引和数组的子块 14 5.3索引数组

Contents 1 绪论与基础 1 1.1 R语言环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 相关的软件和文档 . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 R与统计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 R与视窗系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.5 R的交互使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.6 入门训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.7 获取函数和功能的帮助信息 . . . . . . . . . . . . . . . . . . . . . 3 1.8 R的命令、对大小写的敏感,等等 . . . . . . . . . . . . . . . . . . 3 1.9 对已输入命令的记忆和更改 . . . . . . . . . . . . . . . . . . . . . 4 1.10 命令文件的执行和输出的转向到文件 . . . . . . . . . . . . . . . . 4 1.11 数据的保持与对象的清除 . . . . . . . . . . . . . . . . . . . . . . 4 2 简单操作;数值与向量 5 2.1 向量与赋值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 向量运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 产生规则的序列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 逻辑向量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.5 缺失值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6 字符向量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.7 索引向量(index vector);数据集子集的选择与修改 . . . . . . . . . 8 2.8 对象的其他类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 对象,模式和属性 10 3.1 固有属性:模式和长度 . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 改变对象的长度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3 属性的获取和设置 . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.4 对象的类别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 有序因子与无序因子 12 4.1 一个特例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2 函数tapply()与ragged数组 . . . . . . . . . . . . . . . . . . . . . . 12 4.3 有序因子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5 数组和矩阵 14 5.1 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2 数组的索引和数组的子块 . . . . . . . . . . . . . . . . . . . . . . 14 5.3 索引数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 i

CONTENTS 54函数 array 5.4.1向量,数组的混合运算,重复使用规则 5.5两个数组的外积 5.6数组的广义转置 57专门的矩阵功能 5.71矩阵乘法 572线性方程和矩阵的逆 5.7.3特征值和特征向量 58奇异值分解与行列式 6778889999 59最小二乘拟合及QR分解 5.10构建分区矩阵, cindy和 rbind(O 511连接函数c(,针对数组的应用 512由因子生成频数表 6列表和数据帧 21 62构建和修改列表 6.2.1连接列表 6.3数据帧 6.3.1创建数据帧 632 attach与 detach 22223 6.3.3使用数据帧 6.34挂接任意列表 6.3.5管理搜索路径 7从文件中读取数据 71函数 read table 72函数scan( 7.3内建数据集的存取 7.3.1从其他R功能包中载入数据 7.4编辑数据 8概率分布 8.1R一作为一个统计表的集合 8.2检测数据集合的分布 8.3单样本和两样本检验 292 9语句组、循环和条件操作 9.1表达式语句组 9.2控制语句 9.21条件执行:ii语句 9.2.2重复执行:for循环, repeat和 while 10编写自己的函数 10.1简单示例 10.2定义新的二元操作符 10.3指定的参数和默认值 10.4参数 10.5函数内的赋值 10.6更多高级示例

CONTENTS ii 5.4 函数array() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.4.1 向量,数组的混合运算,重复使用规则 . . . . . . . . . . . 16 5.5 两个数组的外积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.6 数组的广义转置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.7 专门的矩阵功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.7.1 矩阵乘法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.7.2 线性方程和矩阵的逆 . . . . . . . . . . . . . . . . . . . . . 18 5.7.3 特征值和特征向量 . . . . . . . . . . . . . . . . . . . . . . 19 5.8 奇异值分解与行列式 . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.9 最小二乘拟合及QR分解 . . . . . . . . . . . . . . . . . . . . . . . 19 5.10 构建分区矩阵,cbind()和rbind() . . . . . . . . . . . . . . . . . . 19 5.11 连接函数c(),针对数组的应用 . . . . . . . . . . . . . . . . . . . . 19 5.12 由因子生成频数表 . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6 列表和数据帧 21 6.1 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.2 构建和修改列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.2.1 连接列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.3 数据帧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.3.1 创建数据帧 . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.3.2 attach()与detach() . . . . . . . . . . . . . . . . . . . . . . 23 6.3.3 使用数据帧 . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.3.4 挂接任意列表 . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.3.5 管理搜索路径 . . . . . . . . . . . . . . . . . . . . . . . . . 24 7 从文件中读取数据 25 7.1 函数read.table() . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7.2 函数scan() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.3 内建数据集的存取 . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.3.1 从其他R功能包中载入数据 . . . . . . . . . . . . . . . . . 27 7.4 编辑数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 8 概率分布 28 8.1 R—作为一个统计表的集合 . . . . . . . . . . . . . . . . . . . . . . 28 8.2 检测数据集合的分布 . . . . . . . . . . . . . . . . . . . . . . . . . 29 8.3 单样本和两样本检验 . . . . . . . . . . . . . . . . . . . . . . . . . 32 9 语句组、循环和条件操作 35 9.1 表达式语句组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 9.2 控制语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 9.2.1 条件执行:if语句 . . . . . . . . . . . . . . . . . . . . . . . 35 9.2.2 重复执行:for 循环,repeat 和while . . . . . . . . . . . . 35 10 编写自己的函数 37 10.1 简单示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 10.2 定义新的二元操作符 . . . . . . . . . . . . . . . . . . . . . . . . . 38 10.3 指定的参数和默认值 . . . . . . . . . . . . . . . . . . . . . . . . . 38 10.4 参数’...’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 10.5 函数内的赋值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 10.6 更多高级示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

CONTENTS 10.6.1区组设计的效率因子( Efficiency factors) 10.6.2删除打引数组中的所有名称 10.6.3递归的数值积分 9⑩牡43 10.8定制环境 109类别,通用函数和对象定位 11R的统计模型 11.1定义统计模型;公式 45 1111对比( contrast 11.2线性模型 11.3用于释放模型信息的通用函数 114方差分析与模型比较 1141方差分析表( ANOVA tables) 49 11.5更新拟合模型 50 11.6广义线性模型 1.6.1族 (families) 51 11.6.2函数gm( 11.7非线性最小二乘和最大似然模型 11.7.1最小二乘 11.72最大似然 11.8一些非标准的模型 12图形过程 121高级绘图命令 21.1函数 plot 2.1.2显示多元数据 121.3显示图形 121.4高级绘图函数的参数 122低级绘图命令 221数学注释 22.2 Hershey矢量字体 123图形的交互 124使用图形参数 241持续性变更( Permanent changes):parO函数 1242临时性变更:图形函数的参数 125图形参数列表 125.1图形元素 1252坐标轴和标记 253图边缘( Figure margins). 125.4多图环境 80111228%%6667⑦ 12.6设备驱动 126.1文本文档的 PostScript.图表 126.2多重图形设备 127动态图形

CONTENTS iii 10.6.1 区组设计的效率因子(Efficiency factors) . . . . . . . . . . 39 10.6.2 删除打引数组中的所有名称 . . . . . . . . . . . . . . . . . 40 10.6.3 递归的数值积分 . . . . . . . . . . . . . . . . . . . . . . . 41 10.7 范畴(scope) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 10.8 定制环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 10.9 类别,通用函数和对象定位 . . . . . . . . . . . . . . . . . . . . . 44 11 R的统计模型 45 11.1 定义统计模型;公式 . . . . . . . . . . . . . . . . . . . . . . . . . 45 11.1.1 对比(contrasts) . . . . . . . . . . . . . . . . . . . . . . . . 48 11.2 线性模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 11.3 用于释放模型信息的通用函数 . . . . . . . . . . . . . . . . . . . . 48 11.4 方差分析与模型比较 . . . . . . . . . . . . . . . . . . . . . . . . . 49 11.4.1 方差分析表(ANOVA tables) . . . . . . . . . . . . . . . . . 49 11.5 更新拟合模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 11.6 广义线性模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 11.6.1 族(families) . . . . . . . . . . . . . . . . . . . . . . . . . . 51 11.6.2 函数glm() . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 11.7 非线性最小二乘和最大似然模型 . . . . . . . . . . . . . . . . . . . 53 11.7.1 最小二乘 . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 11.7.2 最大似然 . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 11.8 一些非标准的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . 55 12 图形过程 56 12.1 高级绘图命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 12.1.1 函数plot() . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 12.1.2 显示多元数据 . . . . . . . . . . . . . . . . . . . . . . . . . 57 12.1.3 显示图形 . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 12.1.4 高级绘图函数的参数 . . . . . . . . . . . . . . . . . . . . . 58 12.2 低级绘图命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 12.2.1 数学注释 . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 12.2.2 Hershey 矢量字体 . . . . . . . . . . . . . . . . . . . . . . 61 12.3 图形的交互 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 12.4 使用图形参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 12.4.1 持续性变更(Permanent changes): par()函数 . . . . . . . . 62 12.4.2 临时性变更:图形函数的参数 . . . . . . . . . . . . . . . . 63 12.5 图形参数列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 12.5.1 图形元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 12.5.2 坐标轴和标记 . . . . . . . . . . . . . . . . . . . . . . . . . 64 12.5.3 图边缘(Figure margins) . . . . . . . . . . . . . . . . . . . 65 12.5.4 多图环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 12.6 设备驱动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 12.6.1 文本文档的PostScript图表 . . . . . . . . . . . . . . . . . . 67 12.6.2 多重图形设备 . . . . . . . . . . . . . . . . . . . . . . . . . 67 12.7 动态图形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Chapter 1 绪论与基础 11R语言环境 R是一套由数据操作、计算和图形展示功能整合而成的套件。包括: 有效的数据存储和处理功能, 一套完整的数组(特别是矩阵)计算操作符 拥有完整体系的数据分析工具, 为数据分析和显示提供的强大图形功能 一套(源自S语言)完善、简单、有效的编程语言(包括条件、循环、自 定义函数、输入输出功能)。 在这里使用”环境”( environment)是为了说明R的定位是一个完善、统一的系 统,而非其他数据分析软件那样作为一个专门、不灵活的附属工具 R很适合被用于发展中的新方法所进行的交互式数据分析。由于R是一个动 态的环境,所以新发布的版本并不总是与之前发布的版本完全兼容。某些用户 欢迎这些变化因为新技术和新方法的所带来的好处;有些则会担心旧的代码不 再可用。尽管R试图成为一种真正的编程语言,但是大家不要认为一个由R编写 的程序可以长命百岁。 12相关的软件和文档 R可以被当作S语言(由 Rick becker, John Chambers和 Allan wilks在Bel实验室 开发)的实现工具,或者S-PLUs系统的基本形态。 S语言的发展变化可以参考 JOHN CHAMBERS与其他人合作的四本书。 对R来说基本的参考书是 The New s language: A Programming Environment for Data Analysis and Graphics (Richard A. Becker, John M. Chambers and Allan R.Wiks)。对于1991年发布的S( S VERSION3)可以参考 Statistical Models in s( edited by John n. Chambers and Trevor J. Hastie)。更多的参 考书目请查看本手册的相应部分。 此外,S-PLUs的相关文档都可以用于R,只是要注意R与S执行工具之间的 差别

Chapter 1 绪论与基础 1.1 R语言环境 R是一套由数据操作、计算和图形展示功能整合而成的套件。包括: • 有效的数据存储和处理功能, • 一套完整的数组(特别是矩阵)计算操作符, • 拥有完整体系的数据分析工具, • 为数据分析和显示提供的强大图形功能, • 一套(源自S语言)完善、简单、有效的编程语言(包括条件、循环、自 定义函数、输入输出功能)。 在这里使用”环境”(environment)是为了说明R的定位是一个完善、统一的系 统,而非其他数据分析软件那样作为一个专门、不灵活的附属工具。 R很适合被用于发展中的新方法所进行的交互式数据分析。由于R是一个动 态的环境,所以新发布的版本并不总是与之前发布的版本完全兼容。某些用户 欢迎这些变化因为新技术和新方法的所带来的好处;有些则会担心旧的代码不 再可用。尽管R试图成为一种真正的编程语言,但是大家不要认为一个由R编写 的程序可以长命百岁。 1.2 相关的软件和文档 R可以被当作S语言(由Rick Becker,John Chambers和AllanWilks在Bell实验室 开发)的实现工具,或者S-Plus系统的基本形态。 S语言的发展变化可以参考John Chambers与其他人合作的四本书。 对R来说,基本的参考书是The New S Language: A Programming Environment for Data Analysis and Graphics(Richard A. Becker, John M. Chambers and Allan R. Wilks)。 对于1991年发布的S (S version 3)可以参考Statistical Models in S (edited by John M. Chambers and Trevor J. Hastie)。更多的参 考书目请查看本手册的相应部分。 此外,S-Plus的相关文档都可以用于R,只是要注意R与S执行工具之间的 差别。 1

CHAPTER1.绪论与基础 13R与统计 在我们对R语言环境的介绍中并没有提到统计,不过很多人都把R作为一个 统计系统来使用。我们倾向于把它当作环境,使得经典和现代统计技术在其 中得到应用。一部分已经被内建在基本的R语言环境中,但是更多的是以包 的形式提供的。由8个包是随着R一同提供的(称作标准包),其它的可以通 过CRAN的成员网站获得(通过Hrrp:// CRAN,R- PROJECT ORG)。 通过R可以使用绝大多数的经典或者最新的统计方法,不过用户需要花一些 功夫来找出这种方法。 S(和R)与其他主流的统计系统在本质上有一个很重要的不同。在S中 统计分析通常由一系列的步骤完成,同时将交互的结果存储在对象中。所以, 尽管SAS和SPSs在一个回归或者判别分析中会给出丰富的输出结果,R只是 给出一个最小的输出,而将结果保存在一个适当的对象中由R函数进行后续查 14R与视窗系统 使用R最便捷的方式是在一个运行视窗系统的图形工作站上。这份指南就是为 拥有这项便利的用户准备的。尽管我们绝大部分的内容都是来讲R环境的一般 应用,我们还是会时不时的提到R在 X WINDoW系统下的应用。 与操作系统的直接互动对多数用户来说都是必要的。在这份指南中我们主 要讨论在UNIX系统下的互动,所以 WINDOWS下的R用户需要做出一些小的调 整。 对工作站的定制是一项直接而有效但又单调乏味的过程,在这里我们并不会 作更深入的讨论。如果您在这方面遇到了困难可以向你身边的专家寻求帮助。 15R的交互使用 R程序在等待输入命令时会给出提示符,默认的提示符是>,与UNIX的 SHELL提 示符是相同的。不过如果你愿意的话,我们可以轻松的更改R的提示符。在这 里我们先假定UNIX的sHEL提示符是$。在UNIX下使用R可以按照下面的推 荐步骤来做:1.创建一个独立的子目录来存储解决这个问题所用的数据文件,将 目录命名为woRK这个目录将作为你当前任务的工作目录 s mkdir work 2启动R的程序 S R 3使用R的各种命令 4.退出R 此时您会被询问是否保存您在R任务中的数据。你可以回答YEs,NO或 CANCEL(使 用缩略字符也可以)分别对应退出前保存数据,不保存数据退出或回到R任务 中。被存储的数据在之后的R任务中可以继续使用。 之后的R任务就更简单了。1.令WORK成为工作目录,并启动R程序 s cd work s R

CHAPTER 1. 绪论与基础 2 1.3 R与统计 在我们对R语言环境的介绍中并没有提到统计,不过很多人都把R作为一个 统计系统来使用。我们倾向于把它当作环境,使得经典和现代统计技术在其 中得到应用。一部分已经被内建在基本的R语言环境中,但是更多的是以包 的形式提供的。由8个包是随着R一同提供的(称作标准包),其它的可以通 过CRAN的成员网站获得(通过http://cran.r-project.org)。 通过R可以使用绝大多数的经典或者最新的统计方法,不过用户需要花一些 功夫来找出这种方法。 S(和R)与其他主流的统计系统在本质上有一个很重要的不同。在S中, 统计分析通常由一系列的步骤完成,同时将交互的结果存储在对象中。所以, 尽管SAS和SPSS在一个回归或者判别分析中会给出丰富的输出结果,R只是 给出一个最小的输出,而将结果保存在一个适当的对象中由R函数进行后续查 询。 1.4 R与视窗系统 使用R最便捷的方式是在一个运行视窗系统的图形工作站上。这份指南就是为 拥有这项便利的用户准备的。尽管我们绝大部分的内容都是来讲R环境的一般 应用,我们还是会时不时的提到R在X window系统下的应用。 与操作系统的直接互动对多数用户来说都是必要的。在这份指南中我们主 要讨论在UNIX系统下的互动,所以Windows下的R用户需要做出一些小的调 整。 对工作站的定制是一项直接而有效但又单调乏味的过程,在这里我们并不会 作更深入的讨论。如果您在这方面遇到了困难可以向你身边的专家寻求帮助。 1.5 R的交互使用 R程序在等待输入命令时会给出提示符,默认的提示符是>, 与UNIX的shell提 示符是相同的。不过如果你愿意的话,我们可以轻松的更改R的提示符。在这 里我们先假定UNIX的shell提示符是$。在UNIX下使用R可以按照下面的推 荐步骤来做:1.创建一个独立的子目录来存储解决这个问题所用的数据文件,将 目录命名为work.这个目录将作为你当前任务的工作目录. $ mkdir work $ cd work 2.启动R的程序 $ R 3.使用R的各种命令 4.退出R > q() 此时您会被询问是否保存您在R任务中的数据。你可以回答yes,no或cancel(使 用缩略字符也可以)分别对应退出前保存数据,不保存数据退出或回到R任务 中。被存储的数据在之后的R任务中可以继续使用。 之后的R任务就更简单了。1.令work成为工作目录,并启动R程序。 $ cd work $ R

CHAPTER1.绪论与基础 2使用R,在任务结束时用q()来中止。 在 WINDOWS下使用R的步骤与上面基本相同。创建一个文件夹作为工作目 录,并将其设定R快捷方式的在”起始位置”中。然后双击图标启动R。 16入门训练 我们非常推荐读者们在继续进行之前通过一个示例来获取在计算机上使用R的 感觉。这个示例由示例训练给出 17获取函数和功能的帮助信息 和UNIX中的MAN命令一样,R拥有一个内建的帮助功能。对于任意一个指定 的函数,例如 SOLVE,命令是 >help(solve) 或者 1 对于由特殊字符指定的功能,这些参数必须用单引号或双引号括起来,使之 成为一个“字符串”:同时对于某些含有IF,FOR或者 FUNCTION的合成词也要这 样处理。 >help("[[") 不论是单引号还是双引号都可以包含在另一个中,例如字符串:” IT'S IM PORTANT”。我们的惯例是使用双引号。 般情况下帮助文档的HTML格式都是被安装了的,可以通过运行下面的 命令 >help start 启动一个WEB浏览器(UNIX下是 NETSCAPE浏览器)来浏览包含超级链接的 帮助页面。在UNIX下,后续的帮助请求回被发送到HTML为基础的帮助系统 中。页面中 SEARCH ENGINE AND KEYWORDS'连接可以通过所包含的列表对 各种函数进行非常有效的查询。这是你熟悉并且理解R提供的各种功能的好方 法。命令HELP. SEARCH允许我们用多种方式来搜索帮助信息:细节和例子可以 用? HELP SEARCH来查询。与某个主题相关的例子通常可以用下面的命令得到 e(topic) WINDOWS版本的R还有另外可选的帮助系统,详细资料请用 Help 来查询。 18R的命令、对大小写的敏感,等等 从技术角度来讲,R是一种表达式语言,它的语法是非常简单的。和大多 数UNIX为基础的软件包一样,R对大小写是敏感的,也就是说A和A是不同的 代号并且将代表不同的变量。R语言名称中可用的字符集由当前的操作系统决 定(即由 LOCALE决定)。正常情况下所有的字母和数字都是可用的(在某些国家 包括重音字符),还包括句点.**NOTE1**,但是要注意名称不能以数字开 始。基本的命令由表达式或者赋值语句组成。如果一个表达式被作为一条命令 给出,它将被求值、打印而表达式的值并不被保存。一个赋值语句同样对表达 式求值之后把表达式的值传给一个变量,不过并不会自动的被打印出来。命令 由分号(:)来分隔,或者另起新行。基本命令可以由花括号({和})合并为一组复 合表达式。注释几乎可以被放在任何地方,只要是以井号(#)开始,到行末结

CHAPTER 1. 绪论与基础 3 2.使用R,在任务结束时用 q() 来中止。 在Windows下使用R的步骤与上面基本相同。创建一个文件夹作为工作目 录,并将其设定R快捷方式的在”起始位置”中。然后双击图标启动R。 1.6 入门训练 我们非常推荐读者们在继续进行之前通过一个示例来获取在计算机上使用R的 感觉。这个示例由示例训练给出。 1.7 获取函数和功能的帮助信息 和UNIX中的man命令一样,R拥有一个内建的帮助功能。对于任意一个指定 的函数,例如solve,命令是 >help(solve) 或者 >?solve 对于由特殊字符指定的功能,这些参数必须用单引号或双引号括起来,使之 成为一个“字符串”:同时对于某些含有if,for或者function的合成词也要这 样处理。 > help("[[") 不论是单引号还是双引号都可以包含在另一个中,例如字符串:”It’s im￾portant”。我们的惯例是使用双引号。 一般情况下帮助文档的HTML格式都是被安装了的,可以通过运行下面的 命令 > help.start() 启动一个Web浏览器(UNIX下是netscape 浏览器)来浏览包含超级链接的 帮助页面。在UNIX下,后续的帮助请求回被发送到HTML为基础的帮助系统 中。页面中’Search Engine and Keywords’连接可以通过所包含的列表对 各种函数进行非常有效的查询。这是你熟悉并且理解R提供的各种功能的好方 法。命令help.search 允许我们用多种方式来搜索帮助信息:细节和例子可以 用?help.search 来查询。与某个主题相关的例子通常可以用下面的命令得到 > example(topic) Windows版本的R还有另外可选的帮助系统,详细资料请用 > ?help 来查询。 1.8 R的命令、对大小写的敏感,等等 从技术角度来讲,R是一种表达式语言,它的语法是非常简单的。和大多 数UNIX为基础的软件包一样,R对大小写是敏感的,也就是说A和a是不同的 代号并且将代表不同的变量。R语言名称中可用的字符集由当前的操作系统决 定(即由locale决定)。正常情况下所有的字母和数字都是可用的(在某些国家 包括重音字符),还包括句点. ***note 1***,但是要注意名称不能以数字开 始。基本的命令由表达式或者赋值语句组成。如果一个表达式被作为一条命令 给出,它将被求值、打印而表达式的值并不被保存。一个赋值语句同样对表达 式求值之后把表达式的值传给一个变量,不过并不会自动的被打印出来。命令 由分号(;)来分隔,或者另起新行。基本命令可以由花括号( {和})合并为一组复 合表达式。注释几乎可以被放在任何地方,只要是以井号( # )开始,到行末结

CHAPTER1.绪论与基础 束的都是注释。如果一个命令在行莫仍没有结束,R将会给出一个不同的提示 符,默认的是 在第二行和后续行R将继续读入,直到命令从语法角度讲已经输入完成了。 这个提示符也可以由用户更改。一般情况忽略继续输入提示符就行。 19对已输入命令的记忆和更改 在许多版本的UNIX和 WINDOWS下,R提供了对已输入命令记忆和再次执行的 种机制。使用垂直方向箭头的按键可以在命令记录中向前或向后滚动。当 个命令用这种方法定位之后,你就可以使用左右键改变光标的位置,对命 令行进行编辑(用删除或者按其他按键进行添加)。相信的资料在稍后 提供:参见命令行编辑器。记忆和编辑功能在UNX下是高度可定制的。你 可以在 READLINE库的手册中找到具体的方法。作为选择, EMACS的文本编辑 器提供了一种更为一般的支持机制(通过ESS, EMACS SPEAKS STATISTICS)来 为R下面的交互工作服务。参见R和 EMACS 110命令文件的执行和输出的转向到文件 如果命令存储于一个外部文件中,比如工作目录woRK中的 COMMANDS.R,他 们可以随时在R的任务中被执行 >source("commands. R") 在 WINDOWS中 SOURCE也可以由FE菜单执行。函数sINK sink("record. lis") 将把所有后续的输出由终端转向一个外部文件, RECORD.LIs。命令 将把信息重新恢复到终端上。 111数据的保持与对象的清除 R所创建、操作的实体是对象。对象可以是变量、数组、字符串、函数以及由 这些元素组成的其它结构。在一个R的任务过程中,对象根据名称被创建和存 储(我们将在下个训练中讨论这个过程)。下面的命令 objects (作为选择,Ls(O可以)被用来显示目前存储在R中的对象的名字。而当前存 储的所有对象的组合被称为 WORKSPACE 清除对象可以使用RM命令: rm(x, y, z, ink, junk, temp, foo, bar) 所有在一个R任务中被创建的对象都可以在文件中被永久保存,并在其 它的R任务中被使用。在每个R任务结束时用户都有机会保存当前有效的 所有对象。如果用户这样做的话,对象将被写入当前目录一个名为 RDATA **NOTE3**。当R被再次启动时R会从这个文件中再载入 WORKSPACE。同时 相关的命令记录也被载入。 推荐大家在用R进行不同的分析时分别使用不同的工作目录。在分析过程 中创建名为x或Y的对象是很普通的。在一个单独的分析中它们的含义也会很清 晰,但是如果几个不同的分析在同一个工作目录中被处理的话你将会发现分辨 它们的含义是件很痛苦的事情

CHAPTER 1. 绪论与基础 4 束的都是注释。如果一个命令在行莫仍没有结束,R将会给出一个不同的提示 符,默认的是 + 在第二行和后续行R将继续读入,直到命令从语法角度讲已经输入完成了。 这个提示符也可以由用户更改。一般情况忽略继续输入提示符就行。 1.9 对已输入命令的记忆和更改 在许多版本的UNIX和Windows下,R提供了对已输入命令记忆和再次执行的 一种机制。使用垂直方向箭头的按键可以在命令记录中向前或向后滚动。当 一个命令用这种方法定位之后,你就可以使用左右键改变光标的位置,对命 令行进行编辑(用删除或者按其他按键进行添加)。相信的资料在稍后 提供:参见命令行编辑器。记忆和编辑功能在UNIX下是高度可定制的。你 可以在readline 库的手册中找到具体的方法。作为选择,Emacs的文本编辑 器提供了一种更为一般的支持机制(通过ESS,Emacs Speaks Statistics)来 为R下面的交互工作服务。参见R和Emacs。 1.10 命令文件的执行和输出的转向到文件 如果命令存储于一个外部文件中,比如工作目录work中的commands.R,他 们可以随时在R的任务中被执行 > source("commands.R") 在Windows中Source也可以由File菜单执行。函数sink, > sink("record.lis") 将把所有后续的输出由终端转向一个外部文件,record.lis。命令 > sink() 将把信息重新恢复到终端上。 1.11 数据的保持与对象的清除 R所创建、操作的实体是对象。对象可以是变量、数组、字符串、函数以及由 这些元素组成的其它结构。在一个R的任务过程中,对象根据名称被创建和存 储(我们将在下个训练中讨论这个过程)。下面的命令 > objects() (作为选择,ls()可以)被用来显示目前存储在R中的对象的名字。而当前存 储的所有对象的组合被称为workspace。 清除对象可以使用rm命令: > rm(x, y, z, ink, junk, temp, foo, bar) 所有在一个R任务中被创建的对象都可以在文件中被永久保存,并在其 它的R任务中被使用。在每个R任务结束时用户都有机会保存当前有效的 所有对象。如果用户这样做的话,对象将被写入当前目录一个名为.RData ***Note3***。当R被再次启动时R会从这个文件中再载入workspace。同时 相关的命令记录也被载入。 推荐大家在用R进行不同的分析时分别使用不同的工作目录。在分析过程 中创建名为x或y的对象是很普通的。在一个单独的分析中它们的含义也会很清 晰,但是如果几个不同的分析在同一个工作目录中被处理的话你将会发现分辨 它们的含义是件很痛苦的事情

Chapter 2 简单操作;数值与向量 2.1向量与赋值 R对命名了的数据结构进行操作。最简单的数据结构是数字向量,数字向量是 由一组有序数字组成的单个实体。下面的R命令将创建一个名为x,包含5个数 字(10.4,5.6,3.1,6.4和21.7)的向量 >xc(10.4,5.6,3.1,6.4,21.7)->x 如果一个表达式被当作一个完整的命令,它的值将被打印到终端但不被储 存。所以如果我们使用这个命令 1 五个值的倒数将被打印到终端上(还有x的值)。下面的这个赋值操作 将创建一个向量y,其中的11项包含两个x和中间位置的一个0。 22向量运算 向量可以被用于算术表达式中,操作是按照向量中的元素一个一个进行的。同 个表达式中的向量并不需要具有相同的长度。如果它们的长度不同,表达式的 结果是一个与表达式中最长向量有相同长度的向量。表达式中较短的向量会根 据它的长度被重复使用若干次(不一定是整数次),直到与长度最长的向量相匹 配。而常数很明显的将被不断重复。所以在上面的赋值前提下命令

Chapter 2 简单操作;数值与向量 2.1 向量与赋值 R对命名了的数据结构进行操作。最简单的数据结构是数字向量,数字向量是 由一组有序数字组成的单个实体。下面的R命令将创建一个名为x,包含5个数 字(10.4, 5.6, 3.1, 6.4 和21.7)的向量: > x assign("x", c(10.4, 5.6, 3.1, 6.4, 21.7)) 通常使用的操作符¡- 可以被当作函数assign()的简写。赋值同样可以在另一 个方向进行,改变赋值操作符的方向就可以了。所以同样的复制操作还可以被 写成 > c(10.4, 5.6, 3.1, 6.4, 21.7) -> x 如果一个表达式被当作一个完整的命令,它的值将被打印到终端但不被储 存。所以如果我们使用这个命令 > 1/x 五个值的倒数将被打印到终端上(还有x的值)。下面的这个赋值操作 > y v <- 2*x + y + 1 5

CHAPTER2.简单操作:数值与向量 产生一个长度为11的新向量v,逐个元素的进行运算,其中2*x被重复22次,y 被重复1次,常数1被重复11次。逐个元素进行运算的操作符包括+,-,*,/ 此外所有普通的运算函数都能够被使用。1og,exp,sin,cos,tan,sqrt等 等,而且意义并没有什么变化。max和min的作用是选出所给向量中最大的或最 小的元素。 range函数的值是一个长度为2的向量,即c(min(x),max(x))。 length(x)返回了向量x中元素的个数,也就是x的长度。sumn(x)给出了x中所 有元素的总和,proa(x)给出x中所有元素的乘积。两个统计函数是mean(x) 和var(x),分别计算样本均值和样本方差,这两个函数分别相当于sum(x)/ length(x) sum((x-mean(x)\-2)/(1 ength(x)-1)。如果var()的参数是一个n*p的矩阵 那么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本向 量。sort(x)返回一个与x具有相同长度的向量,其中的元素按招升序排列。还 有其他更灵活的排序功能(参见 order(和sort.1ist()。需要注意不论参数中 有几个向量,max和min给出的是所有向量的一个最大值或最小值。而平行的最 大最小函数pmax和pmin将返回一个与最长的向量长度相等的向量,向量中的元 素由参数中所有向量在相应位置的最大值(最小值)组成。绝大多数用户并不会 关心一个数字向量中的数字究竟是整数、实数还是复数。在计算机中运算是按 照双精度的实数或复数进行的。如果要使用复数,需要直接给出一个复数部 分。因此 sqrt(-17) 将会返回NaN(无效数值)和一个警告,而 sqrt(-17+01) 将按照复数进行运算。 23产生规则的序列 R拥有很多产生常用数列的方法。例如1:30就是向量c(1,2,.,29,30)。在 个表达式中冒号(:)具有最高的优先级(即最先进行运算),所以,比如2*1:15就 是向量c(2,4,∴,28,30)。令nseq(-5,5,by=.2) 在变量s3中产生向量c(-5.0,-4.8,-4.6, 4.6,4.8,5.0)。相似 的 s4<- seq (length=51, from=-5, by=2) 在s4中产生一个相同的向量。 第五个参数的名称是 along= vector,它只能作为唯一的参数出现,产生一个 序列一个相关的函数是rep(),这个函数可以用多种复杂的方法来复制一个对 象。最简单的形式是 s5 < rep(x, times=5) 它将把x在s5种首尾相连的复制5次

CHAPTER 2. 简单操作;数值与向量 6 产生一个长度为11的新向量v,逐个元素的进行运算,其中2*x被重复2.2次,y 被重复1次,常数1被重复11次。逐个元素进行运算的操作符包括+,-,*,/ ,^ 此外所有普通的运算函数都能够被使用。log, exp, sin, cos, tan,sqrt等 等,而且意义并没有什么变化。max和min的作用是选出所给向量中最大的或最 小的元素。range函数的值是一个长度为2的向量,即c(min(x),max(x))。 length(x)返回了向量x中元素的个数,也就是x的长度。sum(x)给出了x中所 有元素的总和,prod(x)给出x中所有元素的乘积。两个统计函数是mean(x) 和var(x),分别计算样本均值和样本方差,这两个函数分别相当于sum(x)/length(x), sum((x-mean(x))\^2)/(length(x)-1)。如果var()的参数是一个n*p的矩阵, 那么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本向 量。sort(x)返回一个与x具有相同长度的向量,其中的元素按招升序排列。还 有其他更灵活的排序功能(参见order()和sort.list())。需要注意不论参数中 有几个向量,max和min给出的是所有向量的一个最大值或最小值。而平行的最 大最小函数pmax和pmin将返回一个与最长的向量长度相等的向量,向量中的元 素由参数中所有向量在相应位置的最大值(最小值)组成。绝大多数用户并不会 关心一个数字向量中的数字究竟是整数、实数还是复数。在计算机中运算是按 照双精度的实数或复数进行的。如果要使用复数,需要直接给出一个复数部 分。因此 sqrt(-17) 将会返回NaN(无效数值)和一个警告,而 sqrt(-17+0i) 将按照复数进行运算。 2.3 产生规则的序列 R拥有很多产生常用数列的方法。例如1:30就是向量c(1,2,. . . ,29,30)。在一 个表达式中冒号(:)具有最高的优先级(即最先进行运算),所以,比如2*1:15 就 是向量c(2,4, ...,28,30)。令n seq(-5, 5, by=.2) -> s3 在变量s3中产生向量c(-5.0, -4.8, -4.6, ..., 4.6, 4.8, 5.0)。相似 的 > s4 s5 <- rep(x, times=5) 它将把x在s5种首尾相连的复制5次

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档