




已阅读5页,还剩228页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
R基础知识,一、R简介二、R的数据结构三、R程序包四、R函数五、R绘图六、控制流,1,软件:志愿者管理的软件。免费运算功能强大.不依赖于操作系统。帮助功能完善。统计分析能力尤为突出。可移植性强。强大的拓展与开发能力。灵活而不死板。,2,一、R简介,3,什么是R?,图1R首页的图形R是一种统计绘图语言,也指实现该语言的软件。,TheRProjectforStatisticalComputing,4,简史,R语言是从S统计绘图语言演变而来,可看作S的“方言”。S语言上世纪70年代诞生于贝尔实验室,由RickBecker,JohnChambers,AllanWilks开发。基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广。1995年由新西兰Auckland大学统计系的RobertGentleman和RossIhaka,基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。,5,R的无私奉献者,BillVenables,RobertGentleman,RossIhaka,6,R的特点,多领域的统计资源目前在R网站上约有2400个程序包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。跨平台R可在多种操作系统下运行,如Windows、MacOS、多种Linux和UNIX等。命令行驱动R即时解释,输入命令,即可获得相应的结果。,7,为什么选择R?,丰富的资源涵盖了多种行业数据分析中几乎所有的方法。良好的扩展性十分方便得编写函数和程序包,跨平台,可以胜任复杂的数据分析、绘制精美的图形。完备的帮助系统每个函数都有统一格式的帮助,运行实例。GNU软件免费、软件本身及程序包的源代码公开。,8,R的缺点,用户需要对命令熟悉与代码打交道,需要记住常用命令。占用内存所有的数据处理在内存中进行,不适于处理超大规模的数据。运行速度稍慢即时编译,约相当于C语言的1/20。相比点击鼠标进行操作,R仍能够大大提高效率。,9,图2R软件首页/,10,CRAN,TheComprehensiveRArchiveNetwork简称CRAN,由世界几十个镜像网站组成网络,提供下载安装程序和相应软件包。各镜像更新频率一般为1-2天推荐镜像:中国的镜像:数学所/mirrors/CRAN/即时更新的CRAN源/,11,/,R的核心开发与维护小组通过R工程网站及时发布有关信息,包括R的简介、R的更新及宏包信息、R常用手册、已经出版的关于R的图书、R通讯和会议信息等。,12,Windows下载和安装R,CRAN:BinariesWindowsbase下载完成后,双击R-2.11.0-win32.exe开始安装。一直点击下一步,各选项默认,语言建议选英文。,图3R2.11.0下载页面,13,R的运行平台,R_GUI启动R,看到RGUI(graphicusersinterface)的主窗口,由三部分组成:主菜单、工具条、Rconsole(R的运行窗口)Rconsole,14,R的运行平台,Rconsole主要工作是在这里通过发布命令来完成的,包括数据集的建立,数据的分析,作图等.在这里可以得到在线帮助help()得到相应函数的帮助,例如help(plot)help.start()HTML格式的关于R的帮助文件demo()得到R提供的几个示例;demo(fm)q()退出R,15,工具条介绍,SourceRcode,Loadimage,Saveimage,CopyandPaste,Stopcurrentcomputation,SourceRcode执行R文件(*.R或*.r)Saveimage保存工作空间,文件名为*.RDataLoadimage打开已有的工作空间Stopcurrentcomputation中止当前计算(由于超时等原因),(打开程序脚本),(载入映象),(保存映象),(打印),(中断目前的计算),16,图4R登陆界面(Windows版)路径:开始所有程序R2.11.0,菜单栏,快捷按钮,控制台,光标:等待输入,17,图5RGui的File菜单,18,图6RGui的Edit菜单,19,图7RGui的Packages菜单,20,图8RGui的Help菜单,21,R程序包(RPackages),程序包是什么?R程序包是多个函数的集合,具有详细的说明和示例。Window下的R程序包是经过编译的zip包。每个程序包包含R函数、数据、帮助文件、描述文件等。为什么要安装程序包?R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。例如:系统发育分析,常用到ape程序包,群落生态学vegan包等。,22,常用R程序包(I),23,常用R程序包(II),24,常用R程序包(III),25,图9CRANTaskViews:对程序包的分类介绍,CRANTaskViews,26,图10vegan包页面,三种平台上的程序包,27,R程序包,在CRAN提供了每个包的源代码和编译好的程序包以vegan包为例,CRAN提供了:Packagesource:vegan_1.17-2.tar.gzMacOSXbinary:vegan_1.17-2.tgzWindowsbinary:vegan_1.17-2.zipReferencemanual:vegan.pdfWindow下程序包为zip文件,安装时不要解压缩。,28,安装程序包的方法,1用函数install.packages(),如果已经连接到互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动下载并安装程序包。例如:要安装picante包,在控制台中输入install.packages(picante)2安装本地zip包路径:Packagesinstallpackagesfromlocalfiles选择本地磁盘上存储zip包的文件夹。,29,程序包使用,程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。在控制台中输入如下命令:library(vegan)library(ade4)程序包内的函数的用法与R内置的基本函数用法一样。library(vegan)Thisisvegan1.17-2,30,查看程序包帮助文件,vegan程序包内部都有哪些函数?分别有什么功能?查询程序包内容最常用的方法:1菜单帮助Html帮助2查看pdf帮助文档,31,查看函数的帮助文件,函数的默认值是什么?怎么使用?使用时需要注意什么问题?需要查询函数的帮助。1?t.test2RGuiHelpHtmlhelp3apropos(t.test)4help(t.test)5help.search(t.test)6查看R包pdf手册,32,图11R帮助文件的内容与格式,33,帮助文件的内容,lmstats#函数名及所在包FittingLinearModels#标题Description#函数描述Usage#默认选项Arguments#参数Details#详情Author(s)#作者References#参考文献Examples#举例,34,R图形界面:Rcommander,Rcommander是R的图形界面之一,是JohnFox教授编写的,适用于不希望R编程的用户。随着用户的操作,其窗口还可以显示出相应操作的R程序,对于初学者可能会有帮助。安装Rcommanderinstall.packages(Rcmdr)R将自动下载并安装Rcmdr所需的所有程序包,35,图形界面之一:RCommander,图12Rcommander界面library(Rcmdr),界面操作代码,结果输出,36,为什么要学习编程?,界面操作直观易学,但也存在一些不足:(1)操作的过程难以保存,数据处理不够灵活,在进行步骤繁多的数据处理工作时十分费时费力;(2)在建立模型或自己编写函数时也会遇到困难。而这些困难可以通过编程解决。要学习R编程,首先要了解R的函数、对象及其操作。,37,R通常缺省的安装目录为C:ProgramFilesRR-X.X.X其中R-X.X.X为版本号,安装时可以改变目录。,38,1查看当前R工作的空间目录getwd()2将R工作的路径设置为d:/data/setwd(“d:/data”)或者“文件”“改变当前目录”save.image(example.Rdata)load(example.Rdata)3历史history(Inf),39,使用R,在任务结束时用q()来中止。选择是否保存。dos结束某一命令,40,R主页:CRAN(ComprehensiveRArchiveNetwork),CRAN的镜像站点/mirrors.htmlUCLA提供的关于R与S-Plus的联接,具有搜索功能/splus/default.htm李东风主页提供了的Windows版本ftp.u-aizu.ac.jp,的网站资源,41,CRAN提供了许多便于统计分析的宏包:/src/contrib/PACKAGES.htmlstable-稳妥(分布)广义回归分析tseries时间序列分析VaR风险值分析matrix矩阵运算cinterfaceC与R的接口foreign读写由S,Minitab,SAS,SPSS,Stata等软件的数据normix混合正态分布分析nortest正态分布的Anderson-Darling检验MCMCpack基于Gibbs抽样的MCMC抽样方法fracdiff分数差分模型的极大似然估计还有很多,统计分析软件包,42,二、R的数据结构,(1)R的对象与属性(2)向量的建立(3)矩阵与数组的建立(4)数据框的建立(5)列表的建立()时间序列的建立,43,(1)R的对象与属性,R通过一些对象来运行。所有的对象有两个内在属性:类型和长度。类型有四种:数值型、字符型、复数型、逻辑型。可通过mode()和length()得到类型和长度。,44,表数据对象及类型,45,如何为对象起名?,R处理的所有数据、变量、函数和结果都以对象的形式保存。1.区分大小写,注意China和china的不同。2.不能用数字作为变量,对象也不能用数字开头,但是数字可以放在中间或结尾,如2result与result2,后者是合法的。3.建议不要用过短的名称。可以用”.”作为间隔,例如anova.result1。4.不要使用保留名:NA,NaN,pi,LETTERS,letters,month.abb,,46,浏览对象的信息,函数ls()的功能是显示所有内存中的对象,只列出对象名。如:namels()ls(pat=“m”)#名称中带有字符mls(pat=“m”#限定名称中以字母m开头,47,rm(x)#删除对象xrm(list=ls()#删除内存中所有对象rm(list=ls(pat=“m”)#删除内存中以m开头的对象,48,(2)向量的建立,统计分析中最常用的是数值型的向量,建立函数:seq()或“:”#若向量具有较为简单的规律rep()#若向量具有较为复杂的规律c()#若向量没有什么规律scan()#通过键盘逐个输入,49,例子,1:101:10-11:(10-1)seq(1,30)#等价于seq(from=1,to=30)seq(-5,5,by=0.2)seq(1,10,length=11),50,序列一个相关的函数是rep(),这个函数可以用多种复杂的方法来复制一个对象。最简单的形式是s5rep(2:5,2)rep(1:3,times=4,each=2)scan()#通过键盘建立向量1:11.522.5#此行末空格后回车10:#冒号后回车Read3items,52,R命令将创建一个名为x:xxtemp137!=6(7=9)end最后一个观察值的时间;frequency单位时间内观察值的频数;deltat两个观测值间的时间间隔;(F与D给一个);ts.eps序列之间的误差限,如果序列间的频率差异小于ts.eps,则认为此序列的频率相等;class对象的类型;names一个字符型向量,给出序列的名称,82,ts(1:10,start=1959);ts(1:47,frequency=12,start=c(1959,2)ts(1:10,frequency=4,start=c(1959,2)ts(matrix(rpois(36,5),12,3),start=c(1961,1),frequency=12),83,数据的存储与读取,保存为文本文件的方法:setwd(“c:/data”)dwrite.table(d,file=“c:/data/foo.txt”,s=F,quote=F)#s=F表示行名不写入文件,quote=F表示变量名不放在双引号中。,84,保存为逗号分隔的文本文件:write.csv(d,file=“c:/data/foo.txt”,s=F,quote=F)保存为R格式文件:save(d,file=“c:/data/foo.Rdata”)在经过一段时间分析后,需将工作空间的映像保存起来,save.image(),85,数据的读取,文本文档数据的读取:read.table(file=“文件名”)Read,fwf()读取文件中固定宽度格式的数据,86,Excel数据的读取:使用程序包RODBC.要得到文件“c:databody.xls”中工作表1(sheet1)中的数据,Library(RODBC)zlibrary(grid)3、library(help=grid)可以了解更多grid的信息,95,捐赠包:,捐赠包由一些项目发布,项目包括CRAN,Bioconductor,OmegaHat等。捐献包使用前需要用户自行下载安装和载人。捐献包名称的完整列表及相关的描述可从CRAN网站上获得。,96,1、#包的数目nrow(available.packages()或dim(available.packages()1或length(available.packages(),1)2、#包的名称available.packages(),97,表部分推荐包,98,(二)程序包的安装,R程序包是以两种形式发布:源码包和编译包。两者都是压缩包文件;源码包文件扩展名为.tar.gz,编译码为.zip;两种形式大多数包都可从CRAN网站下载,有时只可获得源码包,可用命令安装:install.packages(file_name_and_path,repos=NULL,type=“score”)其中file_name_and_path是源代码的名称和路径。,99,使用程序包的步骤:,1、下载及安装程序包(放到硬盘);2、加载或调入程序包(放到内存)。,100,程序包的安装步骤:,1、选择软件库(软件库中保存着主要项目发布的程序包);2、设置镜像网站(大多数国家有CRAN镜像网站);3、安装程序包(将程序包文件放到硬盘)。,101,联网方式安装R软件包,1、点击“程序包”“选择软件库”2、点击“设置CRAN镜像”选择一个距离最近、速度最快、运行最稳定可靠的服务器,如中国用户可选择:Beijing1、Beijing2、HongKong、Xiamen之一即可。3、点击“安装程序包”,102,非联网方式安装程序包,1、用户需要通过各种非上网途径获得zip文件;2、点击“程序包”“从本地zip文件安装程序包”。,103,(三)程序包的操作函数,104,(四)程序包及其帮助,程序包是进行统计运算的基本部件,利用实际操作案例来应用。1、查看程序包car是否已加载;2、查看程序包car是否已安装;3、安装程序包car;4、加载程序包;5、是否有关于程序包car的帮助?6、查找关于Angell数据框的信息;7、查找关于scatterplot函数的功能;,105,8、运行一段使用scatterplot函数的示例程序;9、移除car程序包;10、卸载car程序包;11、列出关于流行病学的程序包的名称;12、列出关于环境科学的程序包名称。,106,1、查看程序包car是否已加载及安装,用函数(.packages()检查内存是否已加载程序包car;用函数.packages(all.available=TRUE)查看程序包car是否已安装;两种函数检查都未在内存中发现程序包car.,107,注意:在安装程序包以前,建议首先把当前已安装的相关程序包全部升级到最新版本:方法一:update.packages()方法二:点击“程序包”“更新程序包”“确定”,108,3、安装程序包car,(1)从互联网安装方法一:install.packages(“car”,dependencies=TRUE)方法二:“程序包”“安装程序包”“car”确定。,109,(2)从本地zip文件安装登陆:/CRANChinaPackagesTableofavailablepackages:sortedbynamecarWindowsbinaries:r-devel:car_2.0-25.zip保存在电脑,110,(3)从本地zip文件安装程序包方法一:install.packages(“文件位置/文件名”)方法二:“程序包”“从本地”“选择car程序包的位置及程序包”“成功”,111,检查car的加载安装情况:(.packages()结果显示尚未加载。接着查看程序包car是否已安装:.packages(all.available=TRUE),112,4、加载程序包,library(car)#加载car程序包再检查是否被加载:(.packages(),113,5、是否有关于程序包car的帮助?,library(help=car)得到有关程序包car的帮助信息。,114,6、查找关于Angell数据框的信息,help(Angell)结果没有帮助信息,因此此包并未调入或尚未安装。,115,7、查找关于scatterplot函数的功能,?scatterplot该语句是查找关于scatterplot函数的帮助信息。由于scatterplot是car包中的函数。,116,8、运行一段使用scatterplot函数的示例程序,library(car)help(Prestige)#获取关于数据集Prestige的帮助信息scatterplot(prestigeincome|type,data=Prestige,span=1,legend.coord=“topleft”,main=三个社会nprof-专业;bc-蓝;wc-白),117,9、移除car程序包,detach(package:car)#将程序包car移出工作空间。,118,10、卸载car程序包,remove.packages(car)#卸载程序包car.libPaths()#查看程序包的位置,即已安装的程序包所在的文件夹dir(.libPaths()#显示程序包位置上的文件和目录,119,11、列出关于流行病学的程序包的名称,?epidem,12、列出关于环境科学的程序包名称,?pollution,120,二、R函数,(一)函数的调用与查询(二)用户自定义函数(三)几种特殊的函数,121,函数是具有各种特定功能的R对象。当R运行时,变量和数据经过函数加工处理而产生结果。函数是进行统计分析的核心部件。R系统中,函数分为若干类:数学函数、统计函数、绘图函数和日期函数等。,122,(一)函数的调用与查询,函数的调用基本形式:函数名(参数)(1)当不需向函数传递任何参数时,形式为:my_function()把函数指定给一个对象,形式为:result-my_function(),123,(2)当需调用一个函数,按参数的名称来传递各种不同参数时,调用格式:resultxset.seed(123)yset.seedrnorm,126,也可以用formals()、body()、environment()输出给定函数的以上三个部分的内容,如:(aaa(bbb(cccargs(rnorm)function(n,mean=0,sd=1)NULL,128,(二)用户自定义函数,R提供了丰富的函数,但全部满足需求是不可能的,自己写出函数,编写格式为:function(arglist)exprreturn(value)function表示创建一个函数;arglist是形式参数组成的列表,其可以是一个符号,一个具有“symbol=expression”形式的语句;或者是一个特别形式参数“”。,129,expr是一个或多个有效的R表达式,若是多个表达式组成,则需加花括号“”;value为要返回结果的表达式。若函数是以一个要返回的表达式结尾,则return命令不必写出。,130,单参数的用户定义函数,(1)打印参数值xechoecho(x=5)xecho(x),131,(2)定义一个计算立方数的函数fncube()fncubexfncube(x),132,具有多个参数的函数,(1)函数计算(p-q)/qdifdif(p=7,q=5),133,(2)建立函数fnpower用于计算乘法fnpowerfnpower(5,3),134,(3)向函数传递任意个参数my.foomy.foo(2,3,76,45,43,976,34),135,函数参数的默认值,my.foomy.foo(4,3)my.foo(x=4,y=3)my.foo(y=3,x=4),136,my.foomy.foomy.foo(2,3,sin),139,将plot()函数作为参数传递给my.foo()my.foomy.foo(2:20,3,plot),140,(三)几种特殊的函数,(1)统计函数:mydfsapply(mydf,c(1:3),mean),141,summary()函数返回最大值、第一四分位数、中位数、均数、第三四分位数、最大值summary(mydf),142,表常用的统计函数,表常用的统计函数,143,字符函数:,1.paste()函数连接字符串:paste(a,b,c)paste(“a”,“b”,“c”,sep=“”)#字符串间无空格myvecpaste(myvec,sep=,collapse=),144,substring()提取字符串的一部分,mystrsubstring(mystr,7,11)1world,145,strsplit()函数将一个字符串分割成单个字符,strsplit(mystr,)11Helloworld,146,用正则表达式分割字符串:,strsplit(mystr,)11Helloworld“strsplit(mystr,s)11Helloworld,147,strsplit(mystr,“seo”)#删除e与o11Helloworld,148,用regexpr()函数在字符串中查找指定的字符串,并返回找到的字符串所在的位置及长度:regexpr(e,mystr)12attr(,match.length)11attr(,useBytes)1TRUE,149,sub()函数指定某个字符替换另一个字符,只替换第一个。sub(l,+,mystr)1He+loworld,150,gsub()函数指定某个字符替换另一个字符,所有字符都替换。gsub(l,+,mystr)1He+owor+d,151,日期函数,Sys.Date()#显示当前日期12015-05-12data()#显示当前日期和时间format(Sys.Date(),format=“%d%B%Y”)#用格式输出日期,152,%d一个月的日(1-31)%a短周的日%A一周的星期几中文名%m月份阿拉伯字表示(01-12)%b月份阿拉伯名%B月份中文名%y2位数字的年%Y4位数字的年,153,三、R绘图,R具有强大的绘图功能;R的图形绘制灵活多变,因为R有大量的绘图函数,且函数具有丰富灵活的选项。任何绘图函数的结果直接输出到一个绘图设备上。绘图设备包括绘图窗口和图形文件。,154,绘图函数分两类:,1、高级绘图函数:在绘图设备上创建一个新图,对用户所指定的资料产生一个特定的图形。2、低级绘图函数:在现有的图中添加信息,如添加点、线、标签、图例和多边形等。,155,绘图步骤:,打开绘图的输出设备确定绘图区域选择图形绘出纵、横轴用数据绘制图形定义标题和纵、横坐标轴填充色彩定义图例和说明等。,156,(1)管理绘图,1、打开绘图设备绘图设备首选是绘图窗口。x11()#绘图窗口windows()#绘图窗口pdf()#用作绘图设备的文件均是打开一个绘图设备。,157,显示包括所有已打开的设备的列表:,dev.list()#显示的数字是设备的编号,数字越大,表示设备打开的越晚。dev.cur()#获取当前设备的名称和编号,158,dev.set(2)#将当前窗口变换为windows(2)dev.off()#关闭当前设备dev.off(3)#关闭指定的设备dev.cur()#当前设备是哪个dev.list()#当前有哪些绘图设备,159,win.metafile()#该函数能将图形输出到文件;图形的记录功能:当绘图窗口被选定时,“历史”“记录”把全部图形记录下来;多个图形被记录下来后,可用pgup和pgdn来浏览;“历史”“消除历史”,R中清除除当前的绘图窗口,且关闭记录功能,160,若有一个绘图程序运行后,前面的图都被后面的图替换,只能看到最后产生的那个图;解决方法:首先执行plot.new(),接着“历史”“记录”,切换到程序窗口,“编辑”“运行所有代码”,程序运行完毕后切换到绘图窗口,可用pgup和pgdn来浏览所有图。,161,图形大小的控制,win.graph(width,height,pointsize)#控制图形的大小,宽度、高度、绘图正文中点(文字)的大小。win.graph(width=4,height=3.5,pointsize=8),162,版面分割,版面分割是把当前绘图设备分割为数个区域,每个区域可用单独绘图,常用的函数:split.screen()、par()、layout(),163,split.screen(c(1,2)#划分1行2列112screen(1)#激活第一个区域plot(1:10)screen(2)plot(1:10,ylab=ylab3)screen(2)plot(10:1,ann=FALSE),164,par(mfrow=c(2,1)#分割为2行1列plot(1:12)#绘制上方的图plot(1:12,log=“y”)#绘制下方的图,165,par()对图的周边宽度进行控制:par(mfrow=c(x,y),mar=c(bottom,left,top,right)图的周边宽度越宽,则图中央的绘图区域就越小。作图设备分为三个区域:绘图区、图形区、外围区。,166,par(mar=c(4,4,1,0.5),bg=yellow)#设置边距参数和背景色plot(1:12,log=y),167,layout(matrix()函数是利用矩阵来定义绘图的版面;layout(matrix(1:6,3,2),c(1,1),c(1,1,1)#分为3*2=6个区layout(matrix(1:6,3,2)#同上layout.show(6)#画出1-6号区域内的编号,168,plot(x,y,)函数可绘制散点图、线图等.参数说明见下表:,169,x=c(1:5,5:1)par(mfrow=c(3,3),mar=c(2,2.5,3,2)plot(x,type=p,main=type=p,xlab=)plot(x,type=l,main=type=l,xlab=)plot(x,type=b,main=type=b,xlab=)plot(x,type=c,main=type=c,xlab=)plot(x,type=o,main=type=o,xlab=)plot(x,type=h,main=type=h,xlab=)plot(x,type=s,main=type=s,xlab=)plot(x,type=S,main=type=S,xlab=)plot(x,type=n,main=type=n,xlab=),170,women是R内存集:,attach(women)womenwin.graph(width=4,height=3.5,pointsize=8)plot(women$height,women$weight,type=p,main=用women数据绘制的散点图,xlab=身高(英寸),ylab=体重(磅),171,在plot(x)中,如果x所代表的是一个数据框或矩阵,则plot(x)将对参数x所代表的数据集中的每两个变量绘制散点图。由于women中只有两个变量,顾plot(women)只画一个图,且与上图一样。,172,plot(weight,height)attach(mtcars)mtcarsplot(wt,mpg,pch=19,main=轿车重量(wt)与每加仑油所跑英里数的散点图,xlab=轿车重量,ylab=每加仑汽油所跑的英里数),173,barplot()函数的用法,1、简单条形图dat=VADeathscolnames(dat)=c(农村男性,农村女性,城市男性,城市女性)datis(dat)barplot(dat,1,beside=TRUE,main=某地农村男性年龄组死亡率),174,2、绘制分组条形图,绘制同一地区不同性别居民的年龄分组条形图:barplot(dat,c(1,2),legend=rownames(dat),main=某地农村居民分性别年龄组死亡率,beside=TRUE,args.legend=list(x=topleft)barplot(t(dat,c(1,2),legend=colnames(dat)1:2,main=某地农村居民分性别年龄组死,beside=TRUE,args.legend=list(x=topleft),175,绘制不同地区同性别居民的年龄分组条形图:barplot(dat,c(1,3),legend=rownames(dat),main=某地农村与城市男性居民年龄组死亡率,beside=TRUE,args.legend=list(x=topleft)barplot(t(dat,c(2,4),legend=colnames(dat)c(2,4),main=某地农村与城市女性居民年龄组死亡率,beside=TRUE,args.legend=list(x=topleft),176,barplot(dat,legend=rownames(dat),main=某地居民死亡率,beside=TRUE,args.legend=list(x=topright)barplot(t(dat),legend=colnames(dat),main=某地居民死亡率,beside=TRUE,args.legend=list(x=topleft),177,barplot(dat,legend=rownames(dat),main=某地居民死亡率)barplot(t(dat),legend=colnames(dat),main=某地居民死亡率,args.legend=list(x=topleft),178,barplot(dat,c(3,4),legend=rownames(dat),main=“某地城市居民死亡率)barplot(t(dat),legend=colnames(dat),main=某地居民死亡率,args.legend=list(x=topleft),179,barplot2()函数绘制均数标准差图:,hhsd.lsd.ulblslibrary(gplots),180,mpmtext(side=1,at=colMeans(mp),line=2,cex=.8,text=paste(均数=,formatC(colMeans(hh),col=red)box(),182,pie()函数绘制被分割成若干个扇形饼图,head(mtcars)tail(mtcars)pie(unique(mtcars$cyl),labels=unique(mtcars$cyl),main=气缸饼图),183,table(mtcars$cyl)dim(mtcars)1percent.cyln.cyllbls=paste(n.cyl,个气缸,percent.cyl,%,seq=)pie(n.cyl,label=lbls,main=气缸数目饼图,col=rainbow(length(lbls),184,立体饼图,library(plotrix)#加载n.cylpercent.cyllbls=paste(n.cyl,缸n,percent.cyl,%,seq=)pie3D(n.cyl,labels=lbls,main=气缸数目饼图,col=rainbow(length(lbls),185,hist()函数绘制直方图,set.seed(1)x=rnorm(100000)hist(x,main=100000个正态随机数的直方图)set.seed(1);x=rnorm(100000)hxfitxfitn=length(x);yfit=dnorm(xfit,mean(x),sd(x)*diff(h$mids1:2)*nlines(xfit,yfit),187,head(faithful)hhhh$countsplot(h,main=计算累计频数),188,ts.plot()函数绘制时间序列图,ldeathsmdeathsfdeathsts.plot(ldeaths,lty=2,main=1974-1979年英国支气管炎月死亡数,gpars=list(xlab=年份,ylab=死亡数),189,ts.plot(ldeaths,mdeaths,fdeaths,lty=c(1:3),main=1974-1979年英国支气管炎、肺气肿和哮喘患者月死亡数,gpars=list(xlab=年份,ylab=死亡数)legend(locator(1),c(总死亡数,男性死亡数,女性死亡数),lty=1:3,bty=n),190,locator(1)函数,使程序运行到最后一句时光标变成十字叉,等待用户在图中点击一次,点击后,R将图例放置在紧靠点击点的右下方,光标形状随即变为常态下箭头,表示光标定位状态结束。,191,绘图参数,192,193,绘图符号,par(mfrow=c(6,7),xaxt=n,yaxt=n,cex=3,cex.main=.3,mar=c(0,0,0.5,0)for(iinc(0:25)plot(1,xlab=,ylab=,pch=i,main=i)for(iinc(*,.,o,O,0,+,-,|,!,#,$,%,data(lennon);head(lennon);tail(lennon)dim(lennon);is(lennon);image(lennon,col=gray(100:0/100),axes=FALSE),199,四、控制流,条件语句包括:if、ifelse、switch循环语句包括:for、while、repeat,200,条件语句,if条件语句,语言结构为:1、if(condition)expression2、if(condition)expressionelsealternate.expression3、if(condition)expression1expression2elsealternate.expression1alternate.expression2,201,例1:,a=1if(a3)print(a3)elseprint(axxifelse(plex(x),“虚数”,“实数”),203,for()循环语句,1、for()的语法:for(varinseq)expr2、for(varinseq)exprbreaknextbreak终止命令,next是跳过当前的循环,204,例1:for(iinc(734,985,43,952)print(i)例2:逐个打印整数序列1,2,,10中的各元素,当打印到第3项时中止。for(iin1:10)+print(i)+if(i=3)break+,205,例3逐个打印整数序列1,2,,10中的奇数,for(iin1:10)if(i/2=i%/%2)nextprint(i),206,利用循环语句编制乘法口诀:,a=1:9b=NAfor(iina)for(jina)b=c(b,ai*aj)matrix(b-1,9,9,TRUE),207,while()循环语句:,while(cond)exprbreaknext,208,例1编写一个输出n(从1到5的整数):,nwhile(n5)print(n)nnwhile(n-n+1nwhile(n5)if(n=3)breakprint(n)nnrepeatpr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版路灯维修维护与节能环保服务合同
- 2025年水电设备进出口代理服务合同范本
- 2025版汽车经销商与银行分期购车合作协议范本
- 2025年度别墅项目销售认筹协议书
- 河北省保定市定州市2024-2025学年八年级下学期期末英语试题(含笔试答案无听力)
- 2025年度堤防加固工程环保验收合同
- 2025版停车场停车场停车费用结算与分成合同
- 2025版公共设施挖掘机租赁与设施改造服务合同
- 2025年度保密速记服务与隐私保护标准协议
- 2025版兽医行业期刊兽医专栏作家聘用合同
- 可下载打印的公司章程
- 《英语教师职业技能训练简明教程》全册配套优质教学课件
- 少先队辅导员工作记录表(共7页)
- 农业模型PPT讲稿课件
- 公开课教学评价表
- 消防验收规范标准(最新完整版)19844
- 教研工作手册
- 电工电子技术基础教学大纲
- 独树一帜的中国画(课堂PPT)
- 制钵机的设计(机械CAD图纸)
- 生产设备控制程序
评论
0/150
提交评论