已阅读5页,还剩92页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,R语言,.R语言,目录,第一章网络基础知识及R介绍第二章R语言基础第三章数据的存储与读取第四章R的图形功能第五章R的程序设计第六章综合实例,.R语言,第二章R语言基础,一、一个简短的R会话二、R的基本语法三、R的数据结构,.R语言,一、一个简短的R会话,数据的描述?mtcarsmtcar:美国MotorTrend杂志收集的32辆汽车(1973-1974车型)的11项指标。,.R语言,一、一个简短的R会话,数据的浏览所有数据mtcars前6个观测值head(mtcars)后6个观测值tail(mtcars),.R语言,一、一个简短的R会话,数据的编辑方法一:data.entry(mtcars)方法二:MTcarsfix(mtcars)区别:edit()修改结果不存入mtcars中;fix()结果保存至mtcars中。,.R语言,一、一个简短的R会话,浏览变量信息,例如mpg先激活数据集mtcarsattach(mtcars)mpg121.021.022.821.418.718.114.324.422.819.217.816.417.315.21510.410.414.732.430.433.921.515.515.213.319.227.326.030.42915.819.715.021.4,.R语言,二、R语言的基本语法,1、符号1)命令或运算提示符2)+续行符3)#说明语句字符2、赋值符号1)大于2)=大于等于4)=小于等于5)=等于6)!=不等于比较运算得到的结果是逻辑常量TRUE(真)和FALSE(假)。,.R语言,5、逻辑运算符1)!x逻辑非当前逻辑值取反运算。2)xmode(compare)-TRUE;mode(z)-1i1character2logical3complex,.R语言,三、R语言的数据结构,思考题:下列不是数值型数据的是()。A123B.12.3C.123D.12e2.3下列是字符型数据的是()。A.TRUEB.1e2C.123D.5+1i下列字符型定界符用法错误的是()。AabcB.abcC.abcD.abc下列是逻辑型数据的是()。ATrueB.FALSEC.InfD.NaNInf是()型的数据。A.数值型B.NA型C.字符型D.逻辑型,.R语言,三、R语言的数据结构,统计实例例:一家保险公司收集到由36个投保个人组成的随机样本,得到每个投保人的年龄(周岁)数据如表所示。试确定投保人平均年龄90%的置信区间。,.R语言,三、R语言的数据结构,注:置信区间是指数据可靠程度的范围。90%指置信水平。求置信水平下的置信区间公式为:即x的均值加减常用置信水平的正态分布的临界值乘以样本标准差与样本个数开方的差。90%-=1.64595%-=1.9699%-=2.58,.R语言,三、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.645*(s/sqrt(36)z2a1:(10-1)11234567891:10-110123456789,.R语言,三、R语言的数据结构,2、seq(n1,n2,by=n3,length=n4)#生成从n1到n2的向量,n3为步长,n4为生成元素的数量seq(1,10)112345678910seq(1,5,by=0.5)11.01.52.02.53.03.54.04.55.0seq(1,10,length=11)11.01.92.83.74.65.56.47.38.29.110.0,.R语言,三、R语言的数据结构,3、rep(n1,n2)#生成n1重复n2次的向量rep(2,3)1222rep(1:5,2)11234512345rep(1:5,1:5)1122333444455555rep(1:5,rep(2,5)11122334455,.R语言,三、R语言的数据结构,4、c()#直接输出向量x=c(42,7,64,9)length(x)5、scan()#通过键盘建立向量scan()1:1368#此行末打一空格后回车5:#冒号后直接打回车Read4items11368,.R语言,三、R语言的数据结构,6、sequence(n1)#生成从1开始到n1结束步长为1的向量sequence(5)112345sequence(c(5,5)11234512345sequence(c(5,4)1123451234,.R语言,思考题:下列()不能生成向量(154321)。A.5:1B.6-1:5C.seq(1,5,by=-1)D.6-sequence(5)下列()不能生成向量(11234512345)。A.rep(1:5,2)B.sequence(rep(5,2)C.1:10%6D.(0:9%5)+1,.R语言,三、R语言的数据结构,2)数值型向量的运算向量的运算方法如下:(1)向量与一个常数的加、减、乘、除为向量的每一个元素与此常数进行加、减、乘、除;(2)向量的乘方()与开方(sqrt)为每一个元素的乘方与开方,这对log,exp,sin,cos,tan等普通的运算函数同样适用;(3)同样长度向量的加、减、乘、除等运算为对应元素进行加、减、乘、除等;(4)不同长度向量的加、减、乘、除遵从循环法则(recyclingrule),但要注意这种场合通常要求向量的长度为倍数关系,否则会出现警告:“长向量并非是短向量的整数倍”。,.R语言,三、R语言的数据结构,循环法则:同一个表达式中的向量并不需要具有相同的长度,如果它们的长度不同,表达式的结果是一个与表达式中最长向量有相同长度的向量,表达式中较短的向量会根据它的长度被重复使用若干次(不一定是整数次),直到与长度最长的向量相匹配,而常数将被不断重复。,.R语言,三、R语言的数据结构,sqrt(c(2,4,25)11.4142142.0000005.0000001:2+1:4124461:4+1:7124686810警告信息:In1:4+1:7:长的对象长度不是短的对象长度的整倍数,例子:5+c(4,7,17)1912225*c(4,7,17)1203585c(-1,3,-17)+c(4,7,17)13100c(2,4,5)2141625,.R语言,.R语言,统计实例两变量线形相关系数的计算。在-1和+1之间波动,其绝对值越接近1,两个变量间的直线相关越密切。例题:trees数据集中树木高度(Height)和木材体积(Volume)的相关关系分析。(1)绘制散点图(2)计算相关系数值。,.R语言,三、R语言的数据结构,3)建立字符型向量1.c()直接输入向量例如:c(a,b,1,1e2,TRUE)#数字、逻辑型数据被强制转换为字符串1ab1100TRUE,.R语言,2.paste()接受任意字符,并顺次组合连成字符串,在默认情况下,各字符串由一个空格分隔,可以通过sep=string把它更改为其他字符,包括空字符串。paste(a,1)1a1paste(c(a,b),1)1a1b1paste(c(a,b),c(1,2)1a1b2paste(app,le,sep=)1apple,.R语言,三、R语言的数据结构,例子zrep(c(a,b),3)1abababrep(c(a,b,c),rep(2,3)1aabbcc,.R语言,4)建立逻辑型向量1.c()直接输入向量例如:c(TRUE,FALSE,TRUE)1TRUEFALSETRUE2.rep()#生成重复的向量例如:rep(c(TRUE,FALSE),2)1TRUEFALSETRUEFALSE3.由运算生成例如:1:531FALSEFALSEFALSETRUETRUE,.R语言,三、R语言的数据结构,5)建立因子型向量一个因子(factor)或因子向量不仅包括分类变量本身,还包括变量不同的可能水平。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语言,三、R语言的数据结构,(1)将字符型向量转换为因子aaa1greenbluegreenyellowLevels:bluegreenyellow,.R语言,三、R语言的数据结构,(2)将数值型向量转换成因子bbb11,2,3,1Levels:123factor(rep(1:5,2)11234512345Levels:12345,.R语言,三、R语言的数据结构,(3)将字符型因子转换为数值型因子aalevels(a)a12123Levels:1234ffff1123Levels:123,.R语言,三、R语言的数据结构,(4)将数值型因子转换为字符型因子bblevels(b)b1lowmiddlehighlowLevels:lowmiddlehighffff1ABCLevels:ABC注:函数levels()用来提取一个因子中可能的水平值,,.R语言,三、R语言的数据结构,例如ffff124Levels:2345levels(ff)12345,.R语言,三、R语言的数据结构,(5)函数gl()能产生规则的因子序列。用法是gl(k,n,length=产生数据的个数,label=每个水平因子的名字)其中k是水平数,n是每个水平重复的次数。例子gl(3,5)1111112222233333Levels:123,.R语言,三、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语言,.R语言,.R语言,三、R语言的数据结构,6)向量的下标与子集的提取选择一个向量的子集可以通过在其名称后面追加一个方括号中的索引向量来完成。(1)正整数向量x1:10选取了x的前10个元素(假设x的长度不小于10)。xc(1,4)取出了向量x的第1和第4个元素。xx2yfruitnames(fruit)fruitlunchlunch,.R语言,三、R语言的数据结构,(4)逻辑向量xx10xx10xx10numeric(0)xx10x,.R语言,思考题:1.已知a5D.a53.表达式max(c(1:5,7:10)6:8)的结果是()。A.1B.6C.7D.94.已知a-c(1:5,7:10),则max(a6:8AA,1,1,2,3,41,147102,258113,36912,2,1,2,3,41,147102,258113,36912,其中,dim=c(3,4,2)的第一个3代表有3行,第二个4代表有4列,第三个2代表有2组。,ABBdim(A)dimnames(A)Acolnames(A)rownames(A)dimnames(A),.R语言,三、R语言的数据结构,例子AAAAAA,.R语言,三、R语言的数据结构,2)矩阵的建立由于矩阵在数学及统计中的特殊性,在R中最为常用的是使用命令matrix()建立矩阵。格式:matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL)其中data是一个向量数据,nrow是矩阵的行数,ncol是矩阵的列数,当byrow=TRUE时,生成矩阵的数据按行放置,缺省时相当于byrow=FALSE,数据按列放置。dimnames是数组维的名字,缺省时为空。,.R语言,三、R语言的数据结构,例子XXXXAA注意:循环准则仍然适用于matrix(),但是要求数据项的个数等于矩阵的列数的倍数,否则会出现警告。,.R语言,三、R语言的数据结构,3)数组与矩阵的下标(index)与子集(元素)的提取同向量的下标一样,矩阵与数组的下标可以使用正整数、负整数和逻辑表达式,从而实现子集的提取或修改。,.R语言,三、R语言的数据结构,XXX2,2#取出一个元素X2,#取出一行元素X,2#取出一列元素X-1,#去掉第1个行X,-2#去掉第2个列X,3Xis.na(x)X,.R语言,思考题:已知矩阵aXXt(X)提取对角元diag()XXdiag(X)diag(3)#生成3行的单位矩阵,一个mn矩阵A的行与列的元素互换而得到的nm矩阵,称为A的转置矩阵。,对角线元素都是1的n阶对角矩阵,称为n阶单位矩阵,.R语言,三、R语言的数据结构,按行合并rbind()与按列合并cbind()m1m2rbind(m1,m2)cbind(m1,m2)矩阵的逐元乘积“*”m2*m2,1,2,3,41,11222,1122,1,21,112,113,224,22,1,21,442,44,1,21,112,11,1,21,222,22,m1,m2,rbind(m1,m2),cbind(m1,m2),m2*m2,.R语言,三、R语言的数据结构,矩阵的代数乘积“%*%”【注】矩阵的代数乘法设分别是mn,np矩阵,则矩阵A与B的乘积是一mp矩阵:,.R语言,例1:m3m4m3%*%m4,1,21,11192,1628例2:rbind(m1,m2)%*%cbind(m1,m2),1,2,3,41,22442,22443,44884,4488cbind(m1,m2)%*%rbind(m1,m2),1,21,10102,1010,.R语言,三、R语言的数据结构,方阵的行列式det()XX,1,21,132,24det(X)1-2说明:行列式相当于主对角线(左上至右下)元素的乘积减去副对角线(右上至左下)元素的乘积。,.R语言,三、R语言的数据结构,其它函数crossprod():交叉乘积函数;eigen():特征根与特征向量函数;qr():QR分解函数。solve():逆矩阵函数。例:x-matrix(1:4,2,2)y-solve(x)y,.R语言,思考题:已知afcor(f)#计算相关系数pairs(f)#矩阵散点图,.R语言,三、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语言,三、R语言的数据结构,例1:求均值,中位数等mapply(m,MARGIN=1,FUN=mean)#求各行的均值apply(m,MARGIN=2,FUN=mean)#求各列的均值,.R语言,三、R语言的数据结构,减去中位数row.medLst21MaryLst4217Lstname1FredLstchild.ageNULLLstchild.ages1479Lst$name1FredLst$wife
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国摩托车发动机油项目投资可行性研究报告
- 中国磁性内胆学生用尺项目投资可行性研究报告
- 中医针刺技能大赛题库及答案
- 中国窄幅柔版水性油墨项目投资可行性研究报告
- 中国样布项目投资可行性研究报告
- 中国塑胶模具-杯项目投资可行性研究报告
- 智能感应卡行业深度研究报告
- 维护网络安全运行承诺书说明函件函告8篇
- 中国辣椒菜项目投资可行性研究报告
- 中国矿料冶炼项目投资可行性研究报告
- 宁德新能源verify测试题库
- 2024-2025学年湖北省武汉市常青联合体高二(上)期中地理试卷
- 紧急输血专家共识课件
- 向人大申请监督申请书
- 2025年初级会计考试真题及参考答案
- 游泳馆租赁合同(新标准版)5篇
- 低头族现象分析与应对策略
- 研发部门激励活动方案
- 构建“五育融合”的小学体育活动体系
- 医院网络安全培训课件
- 教师资格证初中英语教学知识与能力试卷(含解析)(2025年)
评论
0/150
提交评论