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

《R语言》课程教学资源(文献资料)R语言操作指南

文档信息
资源类别:文库
文档格式:PDF
文档页数:24
文件大小:671.44KB
团购合买:点击进入团购
内容简介
《R语言》课程教学资源(文献资料)R语言操作指南
刷新页面文档预览

R语言操作指南 作为《数理统计》教材的软件操作指南,本讲义主要选用R语言的学习入门操作。R语 言是一种界面友好容易上手的软件,通过本讲义学习,使得读者能够编制各章节中出现的例 题和习题,并通过软件进行演示。 1 R的基本介绍 11R的起源 R是S语言的一种实现。S语言是由AT&T贝尔实验室开发的一种用来进行数据探索 统计分析、作图的解释型语言。最初S语言的实现版本主要是s-PLUS。 S-PLUS是一个商业软 件,它基于S语言,并由 MathSoft公司的统计科学部进一步完善。后来 Auckland大学的 Robert Gentleman和 Ross ihaka及其他志愿人员开发了一个R系统。R的使用与 S-PLUS有很多类 似之处,两个软件有一定的兼容性 12R是免费的 R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源 代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R是向量操作语言,不同 于C语言。 R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统; 数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的 统计制图功能;简便而强大的编程语言:可操纵数据的输入和输入,可实现分支、循环,用 户可自定义功能。R是一个免费的自由软件,它有UNⅨ、LNUX、 Macos和 WINDOWS版 R官方网站地址:htt://www.r-proiect.。org,在官网上可以免费下载,到2017年4月的 最新版本是3.33,除了安装程序,还有R语言程序包和技术支持文档。在R的安装程序中 只包含了8个基础模块,其他程序包可以通过R语言世界各地的镜像网站CRAN获得。 目前R语言由于其广泛的应用和推广性,在我国,每年由统计之都举办中国的“R语言 会议”,进行积极免费推广R语言的应用和研究,产生了深刻影响力。 13R的特点 1.有效的数据处理和保存机制。 2.拥有一整套数组和矩阵的操作运算符 3.一系列连贯而又完整的数据分析中间工具 4.图形统计可以对数据直接进行分析和显示,可用于多种图形设备 5.一种相当完善、简洁和高效的程序设计语言。它包括条件语句、循环语句、用户自 定义的递归函数以及输入输出接口。6.R语言是彻底面向对象的统计编程语言

1 R 语言操作指南 作为《数理统计》教材的软件操作指南,本讲义主要选用 R 语言的学习入门操作。R 语 言是一种界面友好容易上手的软件,通过本讲义学习,使得读者能够编制各章节中出现的例 题和习题,并通过软件进行演示。 §1 R 的基本介绍 1.1 R 的起源 R 是 S 语言的一种实现。S 语言是由 AT&T 贝尔实验室开发的一种用来进行数据探索、 统计分析、作图的解释型语言。最初 S 语言的实现版本主要是 S-PLUS。S-PLUS 是一个商业 软 件,它基于 S 语言,并由 MathSoft 公司的统计科学部进一步完善。后来 Auckland 大学的 Robert Gentleman 和 Ross Ihaka 及其他志愿人员开发了一个 R 系统。R 的使用与 S-PLUS 有很多类 似之处,两个软件有一定的兼容性。 1.2 R 是免费的 R 是用于统计分析、绘图的语言和操作环境。R 是属于 GNU 系统的一个自由、免费、源 代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R 是向量操作语言,不同 于 C 语言。 R 是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统; 数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的 统计制图功能;简便而强大的编程语言:可操纵数据的输入和输入,可实现分支、循环,用 户可自定义功能。 R 是一个免费的自由软件,它有 UNIX、LINUX、MacOS 和 WINDOWS 版 本。 R 官方网站地址:http://www.r-project.org ,在官网上可以免费下载,到 2017 年 4 月的 最新版本是 3.3.3,除了安装程序,还有 R 语言程序包和技术支持文档。在 R 的安装程序中 只包含了 8 个基础模块,其他程序包可以通过 R 语言世界各地的镜像网站 CRAN 获得。 目前 R 语言由于其广泛的应用和推广性,在我国,每年由统计之都举办中国的“R 语言 会议”,进行积极免费推广 R 语言的应用和研究,产生了深刻影响力。 1.3 R 的特点 1. 有效的数据处理和保存机制。 2. 拥有一整套数组和矩阵的操作运算符。 3. 一系列连贯而又完整的数据分析中间工具。 4. 图形统计可以对数据直接进行分析和显示,可用于多种图形设备。 5. 一种相当完善、简洁和高效的程序设计语言。它包括条件语句、循环语句、用户自 定义的递归函数以及输入输出接口。 6.R 语言是彻底面向对象的统计编程语言

6.R语言和其它编程语言、数据库之间有很好的接口 7.R语言是自由软件,可以放心大胆地使用,但其功能却不比任何其它同类软件差。 8.R语言具有丰富的网上资源 14R界面 R语言常用的编译方式主要基于RGU和 R studio两种,本讲义主要基于RGU的界面方 式进行讲解R的操作和学习。 R队6 回图回 R脚本编辑 RE掌工作2221计可所(研)ge员,用 dy《-day8+1+2esp(1) 新建程序本ctN加截程序包 打开程序本Ct0设定CRAN像 :1ct0)t《 另存为 安装柱序包 eday(20501 使新程序包 aleada: 2^#命令未完成,下行以+提醒继续输入命令 #+由系统自动生成,请勿画蛇添足

2 6. R 语言和其它编程语言、数据库之间有很好的接口。 7. R 语言是自由软件,可以放心大胆地使用,但其功能却不比任何其它同类软件差。 8. R 语言具有丰富的网上资源。 1.4 R 界面 R 语言常用的编译方式主要基于 RGUI 和 R studio 两种,本讲义主要基于 RGUI 的界面方 式进行讲解 R 的操作和学习。 图 1.1 R 的 GUI 界面 由图 1.1 可以看出,R 语言的操作主要通过命令行窗口的交互式运行方式和脚本编辑代 码后再进行编译运行两种方式。实际对于一个复杂的程序而言,建议采用脚本编辑窗口,其 优势在于可以反复编辑,更新完善程序,脚本文件保存的扩展名为.R 文件。 1.5 符号惯例 为了便于更好学习 R 语言,针对软件中出现的符号惯例,在这里进行简要介绍一下,具 体如表 1。 表 1.1 符号惯例及其含义 符号 含义 > 命令提示符,提示可以输入新的命令 + 命令延续到下一行,表示上一行的代码不完整,需要继续录入 # 注释符,表示注释的开始(本课件也使用#注释) [n] 运行结果的第一个元素的位置是 ￾ 例 1.1 > 2^ #命令未完成,下行以+提醒继续输入命令 + 3 #+由系统自动生成,请勿画蛇添足

8 #输出结果,一般都以[1]开始 >2:5 #通过:生成从2到5整数数列 [2345#[1表示结果中的2位置为1 R是交互式计算语言,具有强大计算器功能,图12主要展示R语言作为计算器的强大 能力和便宜性 2 >bb/a 1]2.5 >b鲁号a 1]1 >b t/s a= vs b/a [112 >nm^2 [1114916253649641100 1 1282565 >m^2=2^n [1] FALSE TRUE FALSE TRUE FALSE FALSEFALSE FALSE FALSEFALSE >c(sin(a), cos(b)) [1]0.90929740.2836622 图12作为计算器的R语言 此外,由于R语言中的功能强大,常用的命令较多,R提供了一套完整的帮助系统,供 用户查阅,具体可在菜单中的“帮助”一栏找到,此外,在官方网站上也提供很多技术支持文 档,常用于查询命令帮助的命令为help()或?()等 §2基础知识 21赋值 通过赋值语句将一个数值或一些数据或表达式存储到变量中,比如某种商品价格为15 元,赋值给变量pie,具体如下,其中<-和=常用,建议<-,勿用 例21 price < 15 #“<-”赋值符号比较常用,表示将右边值赋值给左边变量 #等号“=”并不常用。 assign(" price",15)#此种方式并不常用,另外变量名要加引号 注:R语言区分大小写变量名 case sensitive),上面的代码中所得到的pice和Prce 是两个变量不是一回事初学者最容易犯这个错误

3 [1] 8 #输出结果,一般都以[1]开始 > 2:5 # 通过 : 生成从 2 到 5 整数数列 [1] 2 3 4 5 #[1]表示结果中的 2 位置为 1 R 是交互式计算语言,具有强大计算器功能,图 1.2 主要展示 R 语言作为计算器的强大 能力和便宜性。 图 1.2 作为计算器的 R 语言 此外,由于 R 语言中的功能强大,常用的命令较多,R 提供了一套完整的帮助系统,供 用户查阅,具体可在菜单中的“帮助”一栏找到,此外,在官方网站上也提供很多技术支持文 档,常用于查询命令帮助的命令为 help()或?()等。 §2 基础知识 2.1 赋值 通过赋值语句将一个数值或一些数据或表达式存储到变量中,比如某种商品价格为 15 元,赋值给变量 price,具体如下,其中<-和=常用,建议<-,勿用_。 例 2.1 price <- 15 # “<-”赋值符号比较常用,表示将右边值赋值给左边变量 Price = 15 # 等号“=”并不常用。 assign(“ price” , 15) #此种方式并不常用,另外变量名要加引号 注:R 语言区分大小写变量名(case sensitive),上面的代码中所得到的 price 和 Price 是两个变量不是一回事.初学者最容易犯这个错误

22数据对象 由一组数据构成的对象,称为向量。类似于线性代数中的向量概念。如 例2 year5这个条件就 不成立,R中返回逻辑变量值F( false),此外,若条件成立,称为逻辑真值,系统记为T(true). 逻辑变量所指即为F和T两种情况。 算术运算符号 加:+减::乘:*除:/乘方 例2 动手操作a+b,a-b,a'b,a/b和a^bora*b 注:由于系统指令符号并不含有×和÷,所以乘法和除法分别用相似的*和/来替代 此外乘方的符号为A,英语读为hat,也就是很形象在其上运算。**也表示乘方,即连乘。 24逻辑和比较运算 常用的比较运算符号和逻辑运算见表21和表22 表21比较运算符号表 等于不等于大于大于或等于小于小于或等于 >= 表22逻辑运算符号表

4 2.2 数据对象 由一组数据构成的对象,称为向量。类似于线性代数中的向量概念。如: 例 2.2 year5 这个条件就 不成立,R 中返回逻辑变量值 F (false),此外,若条件成立,称为逻辑真值,系统记为 T (true). 逻辑变量所指即为 F 和 T 两种情况。 算术运算符号 加: + 减: - 乘: * 除: / 乘方: ^ or ** 例 2.4 a >= < <= 表 2.2 逻辑运算符号表

逻辑和 逻辑或 逻辑非 &向量,&&控制1向量,‖控制 注:注意==和=的区别,一个是赋值,一个是判断两变量相等 例 2.5 a15&×<8 注:&和返回是向量每个元素逻辑运算结果,为一所有元为逻辑值的向量,而&&和 则为单独两个条件的逻辑运算结果,为一逻辑值。如果对向量使用此控制符号运算,则返回 第一个元素运算结果。 注:运行并分析a1==a2和a1=a2的结果,并分析这两行命令的结果不同原因。 25R包 package 程序包是R函数、数据、预编译代码以一种定义完善的格式组成的集合,称为库(brar R除了自带的系统包以外,更为强大的是各种扩展包。默认包在R启动后会自动加载, search 命令可以查询加载的包 在R菜单或使用 instal! package)会显示CRAN镜像站点,选择其一进行安装。 例 2.6 nstall packages(" glue")#安装gcus包 librarygclus) #加载 gclus包 help( package="gcus")#查询gcus包的帮助 注:CRAN是 Comprehensⅳ e R Archive Network简称,即R网站镜像站点,含有R的安 装软件源、学习资料和扩展包。建议选择美国或澳洲镜像进行下载安装 26数据类型 数据类型是指数据对象的单元(元素)的类型,即逻辑型( ogical)、数值型( numerical 复数型( complex)和字符型( character)。也可以是缺省值( missing value) 数值型的形式为实数,因此可以写成整数 (integer),小数( decimal fractions或科学计数 ( scientific notation)的方式,另外从有效位数分类为单精度( single)和双精度( double precision) 两种。 复数型为形如a+bi的复数,复数型数据常用函数为Mod(取模),Re(实部),m(虚部),Arg(幅 度)等 由于统计资料大多都是不完整的,缺省值就是应对这种情况而存在的,在R中的取值为 NA( not available,即这个数据缺值)

5 逻辑和 逻辑或 逻辑非 &向量,&&控制 |向量,||控制 ! 注:注意==和=的区别,一个是赋值,一个是判断两变量相等。 例 2.5 a15 x>5 & x5 && x>8 注:&和|返回是向量每个元素逻辑运算结果,为一所有元为逻辑值的向量,而&&和|| 则为单独两个条件的逻辑运算结果,为一逻辑值。如果对向量使用此控制符号运算,则返回 第一个元素运算结果。 注:运行并分析 a1==a2 和 a1=a2 的结果,并分析这两行命令的结果不同原因。 2.5 R 包 package 程序包是 R 函数、数据、预编译代码以一种定义完善的格式组成的集合,称为库(library)。 R 除了自带的系统包以外,更为强大的是各种扩展包。默认包在 R 启动后会自动加载,search() 命令可以查询加载的包。 在 R 菜单或使用 install.package()会显示 CRAN 镜像站点,选择其一进行安装。 例 2.6 install.packages(“gclus”) #安装 gclus 包 library(gclus) #加载 gclus 包 help(package=“gclus”) #查询 gclus 包的帮助 注:CRAN 是 Comprehensive R Archive Network 简称,即 R 网站镜像站点,含有 R 的安 装软件源、学习资料和扩展包。建议选择美国或澳洲镜像进行下载安装。 2.6 数据类型 数据类型是指数据对象的单元(元素)的类型,即逻辑型(logical)、数值型(numerical)、 复数型(complex)和字符型(character)。也可以是缺省值(missing value)。 数值型的形式为实数,因此可以写成整数(integer),小数(decimal fractions)或科学计数 (scientific notation)的方式,另外从有效位数分类为单精度(single)和双精度(double precision) 两种。 复数型为形如a+bi的复数,复数型数据常用函数为Mod(取模), Re(实部), Im(虚部), Arg(幅 度)等.由于统计资料大多都是不完整的,缺省值就是应对这种情况而存在的,在 R 中的取值为 NA( not available,即这个数据缺值)

27判别和转换函数 表23给出了常见的类型判别函数和转换函数,记住各类型的英文名称,有助于掌握记 忆这些命令。 表23常见的类型判别函数和转换函数 类型 arace Integer numerIc 判别is ischaracter is complexo is double is integer(I is logical) is nao is numericO 转换(as) as.characteroas.complexoiasdoubleasintegeraslogical as numerico 例26 5 is integer(x)#R中默认为双精度类型 is numeric(x) is double(x) y 3 asnumeric(yy) #逻辑变量转换为数值型对应为0和1 zz <-"China #数值型转换逻辑类型规则为非0值转为真值 #此处引号为英文状态下的符号,切勿输入中文输入法 #下的引号,R中不识别中文相关的符号 as numeric(zz) 28数据对象 R语言中,数据处理能力灵活,功能丰富。其中共有7种数据对象,分别为:向量( vector), 矩阵( matrix),数组( array),列表(1ist),数据框( data frame),因子( factor)和时间序 列( time series)。其中最为基础的是向量操作,R语言的精髓在于向量操作,可以说学会 了向量操作,R才算真正入门,然后在掌握向量的基础上,学习和操作矩阵、数据框等更为 高级和统计分析常用的数据对象的生成方法和运算规则 2.8.1.向量 向量的生成和属性常用的命令如下 c()#连接命令 combine seq()#序列命令 sequence rep()#重复命令 replicate length()#长度 -mode()#属性 向量的运算包括算术运算以及R向量化操作的子集运算

6 2.7 判别和转换函数 表 2.3 给出了常见的类型判别函数和转换函数,记住各类型的英文名称,有助于掌握记 忆这些命令。 表 2.3 常见的类型判别函数和转换函数 类型 character complex double integer logical NA numeric 判别(is) is.character() is.complex() is.double() is.integer() is.logical() is.na() is.numeric() 转换(as) as.character() as.complex() as.double() as.integer() as.logical() \ as.numeric() 例 2.6 x 3 yy as.numeric(yy) #逻辑变量转换为数值型对应为 0 和 1 zz <- “China” #数值型转换逻辑类型规则为非 0 值转为真值 zz #此处引号为英文状态下的符号,切勿输入中文输入法 #下的引号,R 中不识别中文相关的符号 as.numeric(zz) 2.8 数据对象 R 语言中,数据处理能力灵活,功能丰富。其中共有 7 种数据对象,分别为:向量(vector), 矩阵(matrix),数组(array),列表(list),数据框(data frame),因子(factor)和时间序 列(time series)。其中最为基础的是向量操作,R 语言的精髓在于向量操作,可以说学会 了向量操作,R 才算真正入门,然后在掌握向量的基础上,学习和操作矩阵、数据框等更为 高级和统计分析常用的数据对象的生成方法和运算规则。 2.8.1. 向量 • 向量的生成和属性常用的命令如下: – c( ) #连接命令 combine – seq( ) #序列命令 sequence – rep( ) #重复命令 replicate – length( ) #长度 – mode( ) #属性 • 向量的运算包括算术运算以及 R 向量化操作的子集运算

向量的常用操作函数 向量生成法则 c()将若干个数值或字符串组合为一个变量 seq()产生有规律的数列,一般句法为 seq(下界,上界间距) seq(下界,上界 #间距为1时可以缺省 seq(上界) #下界同时也为1时,上界可缺省 整数下界:整数上界#“:”产生连续整数序列 seq(下界by=间距 length=长度) rep()产生有规律的数列,重复第一个变量若干次 rep(变量,重复次数 rep(变量engh=长度) 注:生成向量后,便可以查看向量具有的属性,即长度leng和向量的类型mode 属性。 ①c()连接命令的代码演示如下例26: 例 2.6 #字符串 y #整数型向量 length(x) mode(x) modey) yy<-c("T","am","a"," student.")#连接命令c不能缺省! yy #字符串向量 length(yy) ②seq()序列命令代码演示如下例27: 例 seq(1020.0.5) #生成从10到20间隔为0.5的序列 seq(1,10) #间距为1,生成从1到10的序列,等价于1:10 X <-seq (10) #间距和下界都为1时,目的同上 seq(5,1,0.5) #生成降序的等差数列 seq(by=0.03 length=15)#生成一定长度的序列, #by所指为间距 length为要生成的序列长度 ③rep()重复命令代码演示如下例28 例 2.8 rep(1,5)#将1重复5次 rep(c(1,3)3)#将向量13重复3次 rep(c(0,x),3)#先将0转为字符0,然后将字符串向量 #0x重复3次 rep(1:3,1:3)#第一个1:3为重复的变量(对象),第二个为对应重复对象单元重复次数 rep(1:3,ep(2,3))#ep(2,3)为3个2,意思为将123都重复2次 注:分析上面两行代码运行结果 rep(c(1,23), length=10)#将向量123重复直到得到长度为10的向量结束

7 • 向量的常用操作函数: 1) 向量生成法则 c( ) 将若干个数值或字符串组合为一个变量 seq( ) 产生有规律的数列,一般句法为: seq(下界,上界,间距) seq(下界,上界) #间距为 1 时可以缺省 seq(上界) #下界同时也为 1 时,上界可缺省 整数下界:整数上界 # “ : ”产生连续整数序列 seq(下界,by=间距,length=长度) rep( ) 产生有规律的数列,重复第一个变量若干次 rep(变量,重复次数) rep(变量,length=长度) 注:生成向量后,便可以查看向量具有的属性,即长度 length 和向量的类型 mode 属性。①c( )连接命令的代码演示如下例 2.6: 例 2.6 x <- “ABC” #字符串 y <- 1:20 # 整数型向量 length(x) mode(x) length(y) mode(y) yy <- c(“I”, “am”, “a”, “student.”) #连接命令 c 不能缺省! yy #字符串向量 length(yy) ②seq( )序列命令代码演示如下例 2.7: 例 2.7 seq(10,20,0.5) #生成从 10 到 20 间隔为 0.5 的序列 seq(1,10) #间距为 1,生成从 1 到 10 的序列,等价于 1:10 x <- seq(10) #间距和下界都为 1 时,目的同上 seq(5,1,-0.5) #生成降序的等差数列 seq(0,by=0.03,length=15) #生成一定长度的序列, #by 所指为间距,length 为要生成的序列长度 ③rep( )重复命令代码演示如下例 2.8 例 2.8 rep(1,5) #将 1 重复 5 次 rep(c(1,3),3) #将向量 1 3 重复 3 次 rep(c(0,’x’),3) #先将 0 转为字符’0’,然后将字符串向量 #’0’ ‘x’重复 3 次 rep(1:3,1:3) #第一个 1:3 为重复的变量(对象),第二个为对应重复对象单元重复次数 rep(1:3,rep(2,3)) #rep(2,3)为 3 个 2,意思为将 1,2,3 都重复 2 次 注:分析上面两行代码运行结果: rep(c(1,2,3),length=10) #将向量 1 2 3 重复直到得到长度为 10 的向量结束

向量的代数运算 代数运算是指加(+)、减()、乘()、除(以及乘方(^或*)运算,其含义是对向量的每个 元素都进行该运算。向量之间运算则是对应元素之间的运算 例2.9 X13]#提取所有大于13的元素 注:如果有两个向量,还可以用另一个向量的条件来提取向量的元素 例213 X(1)]#如果为T,则返回对应的ⅹ元素。 向量常用操作函数 熟练应用向量中的函数进行运算,是R语言使用能力的具体体现,表2.4给出了常用的 向量操作函数,要做有针对性的学习和应用

8 2) 向量的代数运算 代数运算是指加(+)、减(-)、乘(*)、除(/)以及乘方(^或**)运算,其含义是对向量的每个 元素都进行该运算。向量之间运算则是对应元素之间的运算 例 2.9 x 13] #提取所有大于 13 的元素 注:如果有两个向量,还可以用另一个向量的条件来提取向量的元素 例 2.13 x (-1) #判断 y 的元素是否大于-1,成立返回真值 T,反之 F x[ y > (-1) ] #如果为 T,则返回对应的 x 元素。 4) 向量常用操作函数 熟练应用向量中的函数进行运算,是 R 语言使用能力的具体体现,表 2.4 给出了常用的 向量操作函数,要做有针对性的学习和应用

表2.4R语言中常用的向量操作函数 函数 意义 函数 意义 函数 意义 sum) 和 判断(所有)rank() 单元值小大顺 序 max( 最大值 判断(部分) append()添加 min( 最小值 prod() 积 替换 取值范围 paste( 连接字符 match() 匹配 ranae 平均值 排序 pmatch() 部分匹配 var() 方差 rev 反排序 函数操作的代码演示如下 例214 xX<C(26,10.8,4) max(xX)#最大值 min(xx)#最小值 mean(xx)#平均值 求和 prod(Xx)#求积 range(x)#取值围范,即最小值和最大值 #方差 sort(x)#排序,从小到大 yy <sort(xx) #倒序,从大到小 rank(xx)#求秩统计量 添加函数句法 append(向量,添加部分,aer=起点) X<seq(1,15by=2) append(x, 20: 30, after=5) append(x, 20: 30 替换函数句法: replace(向量,替换位置,替换值) eplace (x, c(2, 4, 6), -1) 匹配函数mach0和 pmatch0可以给出指定元素的下标,p为part缩写,即为匹配时部 分相等即可 state name match(c(Ohio, Wyoming), state name) match(c(oh, Wy), state name) itch(c(Oh, Wy,), state name) state name[pmatch(c(Oh, Wy,), state name)

9 表 2.4 R 语言中常用的向量操作函数 函数 意义 函数 意义 函数 意义 sum( ) 和 all( ) 判断(所有) rank( ) 单元值小大顺 序 max( ) 最大值 any( ) 判断(部分) append( ) 添加 min( ) 最小值 prod( ) 积 replace( ) 替换 range( ) 取值范围 paste( ) 连接字符 match( ) 匹配 mean( ) 平均值 sort( ) 排序 pmatch( ) 部分匹配 var( ) 方差 rev( ) 反排序 函数操作的代码演示如下 例 2.14 xx <- c(2,6,10,8,4) xx max(xx) #最大值 min(xx) #最小值 mean(xx) #平均值 sum(xx) #求和 prod(xx) #求积 xx range(xx) #取值围范,即最小值和最大值 var(xx) #方差 sort(xx) #排序,从小到大 yy <- sort(xx) rev(yy) #倒序,从大到小 rank(xx) #求秩统计量 添加函数句法:append(向量,添加部分,after=起点) x <- seq(1,15,by=2) x append(x,20:30,after=5) append(x,20:30) 替换函数句法:replace(向量,替换位置,替换值) replace(x,c(2,4,6),-1) 匹配函数 match()和 pmatch()可以给出指定元素的下标,p 为 part 缩写,即为匹配时部 分相等即可。 state.name match(c(‘Ohio’,‘Wyoming’),state.name) match(c(‘Oh’, ‘Wy’),state.name) pmatch(c(‘Oh’, ‘Wy’),state.name) state.name[pmatch(c(‘Oh’, ‘Wy’),state.name)]

al()和any()都是逻辑判断函数,可以用来判断向量的所有单元或部分单元是否具有某 种属性。 xX=0) any xX = y( XX>0) any( Xx 13) mean(price[price> 13]) 2.分析下面两行代码运行结果不同的原因 rep(1:33:1) rep(1:3,rep(3,1) 3.使用 names0函数为向量元素命名,假如x<-1:100,我们对每个元素进行取名依 次为x1x2,…x100,(提示:使用 paste函数以及查阅 names帮助) 4.使用rep和seq0函数,生成如下向量 1234523456345674567856789 282.矩阵 矩阵的生成使用 matrix命令,本节中将介绍各类矩阵运算和矩阵合并,其中注意区别 矩阵元素对应的乘法和矩阵乘法,最后基于 apply函数讲解矩阵的应用 矩阵生成 matrix(data,nrow,ncol, byron=F, dimnames=NULL 其中nrow指的是生成矩阵的行数( number of row),ncol为列数( number of column), brow为生成的矩阵是否按照行排列(第1行,第2,3,…行顺序),缺省为按列排列. dimnames 缺省为空值,否则为长度为2的列表,储存每行或列的标签(行名和列名) 例2.15 matrix #生成列向量 matrix 矩阵行数为2,按列排列 matrix(1:6,now=2, byron=T)#矩阵行数为2,且按行排列 -3:8 matrix(x,3,2)#3行2列,3和2对应nrow和ncol参数取值。 matrix(x,ncol=3)#转为3列矩阵 matrix(x,nco1=3, brow=T)#同上,但按列排列对角矩阵和单位阵diag() -1:6 diag(x)#生成对角矩阵,对角元为向量1到6 diag(3)#生成3×3单位矩阵 ①矩阵运算 般的运算在矩阵中是指对应元素的代数运算 例216 xx < matrix(1: 16, 4)

10 all( )和 any( )都是逻辑判断函数,可以用来判断向量的所有单元或部分单元是否具有某 种属性。 xx = 0) any(xx == 0) any( xx > 0) any( xx 13) mean(price[price > 13]) 2. 分析下面两行代码运行结果不同的原因 rep(1:3,3:1) rep(1:3,rep(3,1)) 3. 使用 names()函数为向量元素命名,假如 x <- 1:100, 我们对每个元素进行取名依 次为 x1,x2,…,x100, (提示:使用 paste 函数以及查阅 names 帮助) 4. 使用 rep()和 seq()函数,生成如下向量 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 2.8.2. 矩阵 矩阵的生成使用 matrix 命令,本节中将介绍各类矩阵运算和矩阵合并,其中注意区别 矩阵元素对应的乘法和矩阵乘法,最后基于 apply 函数讲解矩阵的应用。 1) 矩阵生成 matrix(data,nrow,ncol,byrow=F,dimnames=NULL) 其中 nrow 指的是生成矩阵的行数(number of row),ncol 为列数(number of column), byrow 为生成的矩阵是否按照行排列(第 1 行,第 2,3,…行顺序),缺省为按列排列.dimnames 缺省为空值,否则为长度为 2 的列表,储存每行或列的标签(行名和列名)。 例 2.15 matrix(1:6) #生成列向量 matrix(1:6,nrow=2) #矩阵行数为 2,按列排列 matrix(1:6,nrow=2,byrow=T) #矩阵行数为 2,且按行排列 x <- 3:8 matrix(x,3,2) #3 行 2 列,3 和 2 对应 nrow 和 ncol 参数取值。 matrix(x,ncol=3) #转为 3 列矩阵 matrix(x,ncol=3,byrow=T) # 同上,但按列排列对角矩阵和单位阵 diag( ) x <- 1:6 diag(x) #生成对角矩阵,对角元为向量 1 到 6 diag(3) #生成 3×3 单位矩阵 1 矩阵运算 一般的运算在矩阵中是指对应元素的代数运算 例2.16 xx <- matrix(1:16,4) xx * 2

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