R语言简略版PPT课件_第1页
R语言简略版PPT课件_第2页
R语言简略版PPT课件_第3页
R语言简略版PPT课件_第4页
R语言简略版PPT课件_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.,1,R语言,.R语言,2,目录,第一章 网络基础知识及R介绍 第二章 R语言基础 第三章 数据的存储与读取 第四章 R的图形功能 第五章 R的程序设计 第六章 综合实例,.R语言,3,第二章 R语言基础,一、一个简短的R会话 二、R的基本语法 三、R的数据结构,.R语言,4,一、一个简短的R会话,数据的描述 ?mtcars mtcar:美国Motor Trend杂志收集的32辆汽车(1973-1974车型)的11项指标。,.R语言,5,一、一个简短的R会话,数据的浏览 所有数据 mtcars 前6个观测值 head(mtcars) 后6个观测值 tail(mtcars),.R语言,6,一、

2、一个简短的R会话,数据的编辑 方法一: data.entry(mtcars) 方法二: MTcarsfix(mtcars) 区别:edit()修改结果不存入mtcars中;fix()结果保存至mtcars中。,.R语言,7,一、一个简短的R会话,浏览变量信息,例如mpg先激活数据集mtcars attach(mtcars) mpg 1 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 15 10.4 10.4 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.

3、3 26.0 30.4 29 15.8 19.7 15.0 21.4,.R语言,8,二、R语言的基本语法,1、符号 1) 命令或运算提示符 2) + 续行符 3) # 说明语句字符 2、赋值符号 1) 大于 2) = 大于等于 4)= 小于等于 5)= 等于 6) != 不等于 比较运算得到的结果是逻辑常量TRUE(真)和FALSE(假)。,.R语言,11,5、逻辑运算符 1) ! x 逻辑非 当前逻辑值取反运算。 2)x mode(compare)-TRUE; mode(z)-1i 1 character 2 logical 3 complex,.R语言,21,三、R语言的数据结构,思考题:

4、 下列不是数值型数据的是()。 A123 B.12.3 C. 123 D.12e2.3 下列是字符型数据的是()。 A. TRUE B.1e2 C. 123 D.5+1i 下列字符型定界符用法错误的是()。 A ab c B. ab c C. abc D. ab c 下列是逻辑型数据的是()。 A True B.FALSE C.Inf D.NaN Inf是()型的数据。 A.数值型 B.NA型 C.字符型 D.逻辑型,.R语言,22,三、R语言的数据结构,统计实例 例:一家保险公司收集到由36个投保个人组成的随机样本,得到每个投保人的年龄(周岁)数据如表所示。试确定投保人平均年龄90%的置信区

5、间。,.R语言,23,三、R语言的数据结构,注:置信区间是指数据可靠程度的范围。90%指置信水平。 求置信水平下的置信区间公式为:即x的均值加减常用置信水平的正态分布的临界值乘以样本标准差与样本个数开方的差。 90%- =1.645 95%- =1.96 99%- =2.58,.R语言,24,三、R语言的数据结构,x-c(23,35,39,27,36,44, 36,42,46,43,31,33, 42,53,45,54,47,24,34,28,39,36,44,40, 39,49,38,34,48,50,34,39,45,48,45,32) m-mean(x) s-sd(x) z1-m+1.6

6、45*(s/sqrt(36) z2 a 1:(10-1) 1 1 2 3 4 5 6 7 8 9 1:10-1 1 0 1 2 3 4 5 6 7 8 9,.R语言,29,三、R语言的数据结构,2、seq(n1,n2,by=n3,length=n4) #生成从n1到n2的向量, n3为步长,n4为生成元素的数量 seq(1,10) 1 1 2 3 4 5 6 7 8 9 10 seq(1,5,by=0.5) 1 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 seq(1,10,length=11) 1 1.0 1.9 2.8 3.7 4.6 5.5 6.4 7.3 8.

7、2 9.1 10.0,.R语言,30,三、R语言的数据结构,3、rep(n1,n2) #生成n1重复n2次的向量 rep(2,3) 1 2 2 2 rep(1:5,2) 1 1 2 3 4 5 1 2 3 4 5 rep(1:5,1:5) 1 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 rep(1:5,rep(2,5) 1 1 1 2 2 3 3 4 4 5 5,.R语言,31,三、R语言的数据结构,4、c() #直接输出向量 x=c(42,7,64,9) length(x) 5、scan() #通过键盘建立向量 scan() 1: 1 3 6 8 #此行末打一空格后回车 5:

8、 #冒号后直接打回车 Read 4 items 1 1 3 6 8,.R语言,32,三、R语言的数据结构,6、sequence(n1) #生成从1开始到n1结束步长为1的向量 sequence(5) 1 1 2 3 4 5 sequence(c(5,5) 1 1 2 3 4 5 1 2 3 4 5 sequence(c(5,4) 1 1 2 3 4 5 1 2 3 4,.R语言,33,思考题: 下列()不能生成向量(1 5 4 3 2 1)。 A. 5:1 B. 6-1:5 C.seq(1,5,by=-1) D.6-sequence(5) 下列()不能生成向量(1 1 2 3 4 5 1 2

9、3 4 5)。 A. rep(1:5,2) B. sequence(rep(5,2) C. 1:10%6 D. (0:9%5)+1,.R语言,34,三、R语言的数据结构,2) 数值型向量的运算 向量的运算方法如下: (1)向量与一个常数的加、减、乘、除为向量的每一个元素与此常数进行加、减、乘、除; (2)向量的乘方()与开方(sqrt)为每一个元素的乘方与开方,这对log,exp,sin,cos,tan 等普通的运算函数同样适用; (3)同样长度向量的加、减、乘、除等运算为对应元素进行加、减、乘、除等; (4)不同长度向量的加、减、乘、除遵从循环法则(recycling rule),但要注意这

10、种场合通常要求向量的长度为倍数关系,否则会出现警告:“长向量并非是短向量的整数倍”。,.R语言,35,三、R语言的数据结构,循环法则:同一个表达式中的向量并不需要具有相同的长度,如果它们的长度不同,表达式的结果是一个与表达式中最长向量有相同长度的向量,表达式中较短的向量会根据它的长度被重复使用若干次(不一定是整数次),直到与长度最长的向量相匹配,而常数将被不断重复。,.R语言,36,三、R语言的数据结构, sqrt(c(2,4,25) 1 1.414214 2.000000 5.000000 1:2+1:4 1 2 4 4 6 1:4+1:7 1 2 4 6 8 6 8 10 警告信息: In

11、 1:4 + 1:7 : 长的对象长度不是短的对象长度的整倍数,例子: 5+c(4,7,17) 1 9 12 22 5*c(4,7,17) 1 20 35 85 c(-1,3,-17)+c(4,7,17) 1 3 10 0 c(2,4,5)2 1 4 16 25,.R语言,37,.R语言,38,统计实例 两变量线形相关系数的计算。 在-1和+1之间波动,其绝对值越接近1,两个变量间的直线相关越密切。 例题:trees数据集中树木高度(Height)和木材体积(Volume)的相关关系分析。 (1)绘制散点图 (2)计算相关系数值。,.R语言,39,三、R语言的数据结构,3)建立字符型向量 1.

12、 c() 直接输入向量 例如: c(a,b,1,1e2,TRUE) #数字、逻辑型数据被强制转换为字符串 1 a b 1 100 TRUE,.R语言,40,2. paste() 接受任意字符,并顺次组合连成字符串,在默认情况下,各字符串由一个空格分隔,可以通过sep=string把它更改为其他字符,包括空字符串。 paste(a,1) 1 a 1 paste(c(a,b),1) 1 a 1 b 1 paste(c(a,b),c(1,2) 1 a 1 b 2 paste(app, le,sep=) 1 apple,.R语言,41,三、R语言的数据结构,例子 zrep(c(a,b),3) 1 a

13、b a b a b rep(c(a,b,c),rep(2,3) 1 a a b b c c,.R语言,43,4)建立逻辑型向量 1. c() 直接输入向量 例如: c(TRUE,FALSE,TRUE) 1 TRUE FALSE TRUE 2. rep() #生成重复的向量 例如: rep(c(TRUE,FALSE),2) 1 TRUE FALSE TRUE FALSE 3. 由运算生成 例如: 1:53 1 FALSE FALSE FALSE TRUE TRUE,.R语言,44,三、R语言的数据结构,5)建立因子型向量 一个因子(factor)或因子向量不仅包括分类变量本身,还包括变量不同的可

14、能水平。 factor(x,levels = sort(unique(x), na.last = TRUE),labels = levels, exclude =NA, ordered = is.ordered(x) 说明:这里x可以是数值型或字符型向量。 levels用来指定因子的水平(缺省值是向量x中不同的值); labels用来指定水平的名字; exclude表示从向量x中剔除的水平值; ordered是一个逻辑型选项,用来指定因子的水平是否有次序。,.R语言,45,三、R语言的数据结构,(1)将字符型向量转换为因子 a a a 1 green blue green yellow Lev

15、els: blue green yellow,.R语言,46,三、R语言的数据结构,(2)将数值型向量转换成因子 b b b 1 1,2,3,1 Levels: 1 2 3 factor(rep(1:5,2) 1 1 2 3 4 5 1 2 3 4 5 Levels: 1 2 3 4 5,.R语言,47,三、R语言的数据结构,(3)将字符型因子转换为数值型因子 a a levels(a) a 1 2 1 2 3 Levels: 1 2 3 4 ff ff 1 1 2 3 Levels: 1 2 3,.R语言,48,三、R语言的数据结构,(4)将数值型因子转换为字符型因子 b b levels(

16、b) b 1 low middle high low Levels: low middle high ff ff 1 A B C Levels: A B C 注:函数levels()用来提取一个因子中可能的水平值,,.R语言,49,三、R语言的数据结构,例如 ff ff 1 2 4 Levels: 2 3 4 5 levels(ff) 1 2 3 4 5,.R语言,50,三、R语言的数据结构,(5)函数gl( )能产生规则的因子序列。 用法是 gl(k, n, length=产生数据的个数, label=每个水平因子的名字) 其中k是水平数,n是每个水平重复的次数。 例子 gl(3,5) 1

17、1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 Levels: 1 2 3,.R语言,51,三、R语言的数据结构, gl(3,5,length=30) gl(2,6,label=c(Male,Female) gl(2,10) gl(2,1,length=20) gl(2,2,length=20),.R语言,52,.R语言,53,.R语言,54,三、R语言的数据结构,6)向量的下标与子集的提取 选择一个向量的子集可以通过在其名称后面追加一个方括号中的索引向量来完成。 (1)正整数向量 x1:10 选取了x的前10个元素(假设x的长度不小于10)。 xc(1,4) 取出了向量x的第1和

18、第4个元素。 xx2 y fruit names(fruit) fruit lunch lunch,.R语言,56,三、R语言的数据结构,(4)逻辑向量 x x10 xx10 xx10 numeric(0) xx10 x,.R语言,57,思考题: 1.已知a5 D.a5 3. 表达式max(c(1:5,7:10)6:8)的结果是()。 A. 1 B.6 C.7 D.9 4. 已知a-c(1:5,7:10),则max(a6:8 A A , , 1 ,1 ,2 ,3 ,4 1, 1 4 7 10 2, 2 5 8 11 3, 3 6 9 12 , , 2 ,1 ,2 ,3 ,4 1, 1 4 7

19、10 2, 2 5 8 11 3, 3 6 9 12,其中,dim=c(3,4,2)的第一个3代表有3行,第二个4代表有4列,第三个2代表有2组。,A B B dim(A) dimnames(A) A colnames(A) rownames(A) dimnames(A),.R语言,61,三、R语言的数据结构,例子 A A A A A A,.R语言,62,三、R语言的数据结构,2)矩阵的建立 由于矩阵在数学及统计中的特殊性,在R中最为常用的是使用命令matrix( )建立矩阵。格式:matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL)

20、其中data是一个向量数据,nrow是矩阵的行数,ncol是矩阵的列数,当byrow=TRUE时,生成矩阵的数据按行放置,缺省时相当于byrow=FALSE,数据按列放置。dimnames是数组维的名字,缺省时为空。,.R语言,63,三、R语言的数据结构,例子 X X X X A A 注意:循环准则仍然适用于matrix(),但是要求数据项的个数等于矩阵的列数的倍数,否则会出现警告。,.R语言,64,三、R语言的数据结构,3)数组与矩阵的下标(index)与子集(元素)的提取 同向量的下标一样,矩阵与数组的下标可以使用正整数、负整数和逻辑表达式,从而实现子集的提取或修改。,.R语言,65,三、

21、R语言的数据结构, X X X2,2 #取出一个元素 X2, #取出一行元素 X,2 #取出一列元素 X-1, #去掉第1个行 X,-2 #去掉第2个列 X,3Xis.na(x) X,.R语言,66,思考题: 已知矩阵a X X t(X) 提取对角元diag( ) X X diag(X) diag(3) #生成3行的单位矩阵,一个 mn矩阵A的行与列的元素互换而得到的nm矩阵,称为A的转置矩阵 。,对角线元素都是 1的 n阶对角矩阵,称为n阶单位矩阵,.R语言,68,三、R语言的数据结构,按行合并rbind( )与按列合并cbind( ) m1 m2 rbind(m1,m2) cbind(m1

22、,m2) 矩阵的逐元乘积“*” m2*m2,1 ,2 ,3 ,4 1, 1 1 2 2 2, 1 1 2 2,1 ,2 1, 1 1 2, 1 1 3, 2 2 4, 2 2,1 ,2 1, 4 4 2, 4 4,1 ,2 1, 1 1 2, 1 1,1 ,2 1, 2 2 2, 2 2,m1,m2,rbind(m1,m2),cbind(m1,m2),m2*m2,.R语言,69,三、R语言的数据结构,矩阵的代数乘积“%*%” 【注】矩阵的代数乘法 设 分别是m n, n p矩阵, 则矩阵A与B的乘积是一m p矩阵:,.R语言,70,例1: m3 m4 m3%*%m4 ,1 ,2 1, 11 1

23、9 2, 16 28 例2: rbind(m1,m2)%*% cbind(m1,m2) ,1 ,2,3 ,4 1, 2 2 4 4 2, 2 2 4 4 3, 4 4 8 8 4, 4 4 8 8 cbind(m1,m2) %*% rbind(m1,m2) ,1 ,2 1, 10 10 2, 10 10,.R语言,71,三、R语言的数据结构,方阵的行列式det( ) X X ,1 ,2 1, 1 3 2, 2 4 det(X) 1 -2 说明:行列式相当于主对角线(左上至右下)元素的乘积减去副对角线(右上至左下)元素的乘积。,.R语言,72,三、R语言的数据结构,其它函数 crossprod(

24、 ):交叉乘积函数; eigen( ):特征根与特征向量函数; qr( ):QR分解函数。 solve ():逆矩阵函数。 例:x-matrix(1:4,2,2) y-solve(x) y,.R语言,73,思考题: 已知a f cor(f) #计算相关系数 pairs(f) #矩阵散点图,.R语言,76,三、R语言的数据结构,(2)矩阵的统计运算 函数1:apply(X,MARGIN,FUN) 其中X为参与运算的矩阵,FUN为上面的一个函数或“+”、“-”、“*”、“/”(必须放在引号中),MARGIN=1表示按行计算,MARGIN=2表示按列计算。 函数2:sweep(X,MARGIN,STATS,FUN) 表示从矩阵X中按MATGIN计算STATS,并从X中除去。 FUN默认是“-”。,.R语言,77,三、R语言的数据结构,例1:求均值,中位数等 m apply(m,MARGIN=1,FUN=mean) #求各行的均值 apply(m,MARGIN=2,FUN=mean) #求各列的均值,.R语言,78,三、R语言的数据结构,减去中位数 row.med Lst2 1 Mary Lst42 1 7 Lstname 1 Fred Lstchild.age NU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论