R语言初步-统计绘图与编程ppt课件

上传人:494895****12427 文档编号:240680289 上传时间:2024-04-29 格式:PPT 页数:124 大小:1.58MB
收藏 版权申诉 举报 下载
R语言初步-统计绘图与编程ppt课件_第1页
第1页 / 共124页
R语言初步-统计绘图与编程ppt课件_第2页
第2页 / 共124页
R语言初步-统计绘图与编程ppt课件_第3页
第3页 / 共124页
资源描述:

《R语言初步-统计绘图与编程ppt课件》由会员分享,可在线阅读,更多相关《R语言初步-统计绘图与编程ppt课件(124页珍藏版)》请在装配图网上搜索。

1、语言初步张金龙 June 3,2010 数据处理、绘图与编程1语言初步张金龙 数据处理、绘图与编程1报告内容一 R简介二 函数与对象三 脚本编程四 R绘图五 编写函数六 数据保存2报告内容一 R简介2一 R 简介3一 R 简介3什么是R?图1 R首页的图形R是一种统计绘图语言,也指实现该语言的软件。The R Project for Statistical Computing 4什么是R?图1 R首页的图形The R Project fo简 史 R语言是从S统计绘图语言演变而来,可看作S的“方言”。S语言上世纪70年代诞生于贝尔实验室,由Rick Becker,John Chambers,Al

2、lan Wilks开发。基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广。1995年由新西兰Auckland大学统计系的Robert Gentleman和Ross Ihaka,基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。5简 史 R语言是从S统计绘图语言演变而来R的特点多领域的统计资源 目前在R网站上约有2400个程序包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。跨平台 R可在多种操作系统下运行,如Windows、MacOS、多

3、种Linux和UNIX等。命令行驱动 R即时解释,输入命令,即可获得相应的结果。6R的特点多领域的统计资源6为什么选择R?丰富的资源 涵盖了多种行业数据分析中几乎所有的方法。良好的扩展性 十分方便得编写函数和程序包,跨平台,可以胜任复杂的数据分析、绘制精美的图形。完备的帮助系统 每个函数都有统一格式的帮助,运行实例。GNU软件 免费、软件本身及程序包的源代码公开。7为什么选择R?丰富的资源7R与其他统计软件比较SAS:速度快,有大量统计分析模块,可扩展性稍差,昂贵。SPSS:复杂的用户图形界面,简单易学,但编程十分困难。Splus:运行S语言,具有复杂的界面,与R完全兼容,昂贵。8R与其他统计

4、软件比较SAS:8R的缺点用户需要对命令熟悉 与代码打交道,需要记住常用命令。占用内存 所有的数据处理在内存中进行,不适于处理超大规模的数据。运行速度稍慢 即时编译,约相当于C语言的1/20。相比点击鼠标进行操作,R仍能够大大提高效率。9R的缺点用户需要对命令熟悉9图2 R软件首页 http:/www.r-project.org/10图2 R软件首页 http:/www.r-projectCRANThe Comprehensive R Archive Network简称CRAN,由世界几十个镜像网站组成网络,提供下载安装程序和相应软件包。各镜像更新频率一般为1-2天推荐镜像:中国的镜像:数学所

5、http:/ftp.ctex.org/mirrors/CRAN/即时更新的CRAN源http:/cran.r-project.org/11CRANThe Comprehensive R ArchivWindows下载和安装RCRAN:BinariesWindowsbase 下载完成后,双击R-2.11.0-win32.exe 开始安装。一直点击下一步,各选项默认,语言建议选英文。图3 R2.11.0下载页面12Windows下载和安装RCRAN:BinariesWi图 4 R登陆界面(Windows版)路径:开始所有程序R 2.11.0菜单栏菜单栏快捷按钮快捷按钮控制台控制台光标光标:等待输入

6、等待输入13图 4 R登陆界面(Windows版)菜单栏快捷按钮控制台光图 5 R Gui 的File菜单14图 5 R Gui 的File菜单14图 6 R Gui 的Edit菜单15图 6 R Gui 的Edit菜单15图 7 R Gui 的Packages菜单16图 7 R Gui 的Packages菜单16图 8 R Gui 的Help菜单17图 8 R Gui 的Help菜单17R程序包(R Packages)程序包是什么?程序包是什么?R程序包是多个函数的集合,具有详细的说明和示例。Window下的R程序包是经过编译的zip包。每个程序包包含R函数、数据、帮助文件、描述文件等。为什

7、么要安装程序包?为什么要安装程序包?R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。例如:系统发育分析,常用到ape程序包,群落生态学vegan包等。18R程序包(R Packages)程序包是什么?18常用R程序包(I)ade4利用欧几里得方法进行生态学数据分析adephylo系统进化数据挖掘与比较方法ape系统发育与进化分析apTreeshape进化树分析bootBootstrap检验cluster聚类分析ecodist生态学数据相异性分析FD功能多样性分析geiger物种形成速率与进化分析19常用R程序包(I)ade4利用欧几里得方法进行生态学数据分析常用R程序包(II)G

8、raphics绘图lattice栅格图maptools空间对象的读取和处理mefa生态学和生物地理学多元数据处理mgcv广义加性模型相关mvpart多变量分解nlme线性及非线性混合效应模型ouch系统发育比较pgirmess生态学数据分析phangorn系统发育分析20常用R程序包(II)Graphics绘图lattice栅格图常用R程序包(III)picante群落系统发育多样性分析raster栅格数据分析与处理seqinrDNA序列分析sp空间数据处理spatstat空间点格局分析,模型拟合与检验splancs空间与时空点格局分析statsR统计学包SDMTools物种分布模型工具veg

9、an植物与植物群落的排序,生物多样性计算21常用R程序包(III)picante群落系统发育多样性分析r图 9 CRAN Task Views:对程序包的分类介绍CRAN Task Views22图 9 CRAN Task Views:对程序包的分类介绍图 10 vegan包页面三种平台上的程序包23图 10 vegan包页面三种平台上的程序包23R程序包在CRAN 提供了每个包的源代码和编译好的程序包以vegan包为例,CRAN提供了:Package source:vegan_1.17-2.tar.gz MacOS X binary:vegan_1.17-2.tgz Windows bina

10、ry:vegan_1.17-2.zip Reference manual:vegan.pdf Window下程序包为zip文件,安装时不要解压缩。24R程序包在CRAN 提供了每个包的源代码和编译好的程序包24安装程序包的方法1 用函数 install.packages(),如果已经连接到互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动下载并安装程序包。例如:要安装picante包,在控制台中输入 install.packages(picante)2 安装本地zip包路径:Packagesinstall packages from local files选择本地磁盘上存储zip包

11、的文件夹。25安装程序包的方法1 用函数 install.packages程序包使用程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。在控制台中输入如下命令:library(vegan)library(ade4)程序包内的函数的用法与R内置的基本函数用法一样。library(vegan)This is vegan 1.17-226程序包使用程序包的中函数,都要先导入,再使用,因此导入程序包查看程序包帮助文件vegan 程序包内部都有哪些函数?分别有什么功能?查询程序包内容最常用的方法:1 菜单 帮助Html帮助2 查看pdf帮助文档27查看程序包帮助文件vegan 程序包内部都有哪些

12、函数?分别有查看函数的帮助文件函数的默认值是什么?函数的默认值是什么?怎么使用?怎么使用?使用时需要注意什么问使用时需要注意什么问题?题?需要查询函数的帮助。需要查询函数的帮助。1?t.test 2 RGuiHelpHtml help3 apropos(t.test)4 help(t.test)5 help.search(t.test)6 查看查看R包包pdf手册手册28查看函数的帮助文件函数的默认值是什么?怎么使用?使用时需图 11 R帮助文件的内容与格式29图 11 R帮助文件的内容与格式29帮助文件的内容lmstats#函数名及所在包 Fitting Linear Models#标题De

13、scription#函数描述Usage#默认选项Arguments#参数Details#详情Author(s)#作者References#参考文献Examples#举例30帮助文件的内容lmstats#练习一 安装R并导入程序包1.安装R软件、熟悉菜单2.安装程序包3.调用程序包,查看程序包的帮助library(vegan)library(ape)查找ape包中plot.phylo函数的帮助输入?plot.phylo将其中的Example粘贴到控制台中,查看运行的结果。31练习一 安装R并导入程序包1.安装R软件、熟悉菜单31R图形界面:R commanderR commander是R的图形界

14、面之一,是John Fox教授编写的,适用于不希望R编程的用户。随着用户的操作,其窗口还可以显示出相应操作的R程序,对于初学者可能会有帮助。安装R commanderinstall.packages(Rcmdr)R将自动下载并安装Rcmdr所需的所有程序包32R图形界面:R commanderR commander是R图形界面之一:R Commander图 12 R commander 界面 library(Rcmdr)界面操作代码结果输出33图形界面之一:R Commander图 12 R comma为什么要学习编程?界面操作直观易学,但也存在一些不足:(1)操作的过程难以保存,数据处理不够

15、灵活,在进行步骤繁多的数据处理工作时十分费时费力;(2)在建立模型或自己编写函数时也会遇到困难。而这些困难可以通过编程解决。要学习R编程,首先要了解R的函数、对象及其操作。34为什么要学习编程?界面操作直观易学,但也存在一些二 函数与对象35二 函数与对象35R的函数R是一种解释性语言,输入后可直接给出结果。功能靠函数实现。函数形式:函数(输入数据,参数=)如果没有指定,则参数的以默认值为准。例如:平均值 mean(x,trim=0,na.rm=FALSE,.)线性模型 lm(yx,data=test)36R的函数R是一种解释性语言,输入后可直接给出结果。36R的函数每一个函数执行特定的功能,

16、后面紧跟括号,例如:平均值 mean()求和 sum()绘图 plot()排序 sort()除了基本的运算之外,R的函数又分为”高级”和”低级”函数,高级函数可调用低级函数,这里的”高级”函数习惯上称为泛型函数。如plot()就是泛型函数,可以根据数据的类型,调用底层的函数,应用相应的方法绘制相应的图形。这就是面向对象编程的思想。37R的函数每一个函数执行特定的功能,后面紧跟括号,例如:37R有哪些函数?查询的方法:查询的方法:HelpHtml helppackageslog()log10()exp()sin()cos()tan()asin()acos()binom.test()fisher.

17、test()chisq.test()glm(y x1+x2+x3,binomial)friedman.test()mean()sd()var().38R有哪些函数?查询的方法:HelpHtml helppa 图13 箱线图修饰前后(左:默认值,右:修改属性后)函数的调用方法,函数名()如 plot(),lm(),并将对象放入括号中。R函数调用及其选项39 图13 箱线图修饰前后(左:默认值,右:修改属性后)R函数调用及其选项箱线图绘制函数的调用boxplot(daytype,data=bac,col=red,xlab=Virus,ylab=days)daytype,以type为横轴,day为纵

18、轴绘制箱线图。data=bac 数据来源baccol=“red”箱线图为红色xlab=“Virus”横轴名称为Virusylab=“days”纵轴名称为days40R函数调用及其选项箱线图绘制函数的调用40练习二:查询函数帮助查看boxplot的帮助文件?boxplot查看最后的examples 将帮助文件中的内容粘贴到控制台中,运行并观看运行结果。boxplot(count spray,data=InsectSprays,col=lightgray)参数更改参数更改boxplot(count spray,data=InsectSprays,col=red,xlab=spray,ylab=co

19、unts)41练习二:查询函数帮助查看boxplot的帮助文件41赋值与注释在控制台中键入如下命令2+2a-2代替b-2c-a+bc#注释赋值符号42赋值与注释在控制台中键入如下命令赋值符号42如何为对象起名?R处理的所有数据、变量、函数和结果都以对象的形式保存。1.区分大小区分大小写,注意China和china的不同。2.不能用数字作为变量,对象也不能用数字开头,但是数字可以放在中间或结尾,如2result与与result2,后者是合法的。3.建议不要用过短的名称。可以用”.”作为间隔,例如 anova.result1。4.不要使用保留名:NA,NaN,pi,LETTERS,letters,

20、month.abb,month.name43如何为对象起名?R处理的所有数据、变量、函数和结果都以对象元素的类型对象是由各元素组成的。每个元素,都有自己的数据类型数值型 Numeric 如 100,0,-4.335字符型 Character 如“China”逻辑型 Logical 如TRUE,FALSE因子型 Factor 表示不同类别复数型 Complex 如:2+3i44元素的类型对象是由各元素组成的。每个元素,都有自己的数据类型对象的类(class)向量(vector)一系列元素的组合。如 c(1,2,3);c(a,a,b,b,c)因子(factor)因子是一个分类变量c(a,a,b,b

21、,c)矩阵(matrix)二维的数据表,是数组的一个特例x-1:12;dim(x)=3)数据框(dataframe)是由一个或几个向量和(或)因子构成,它们必须是等长的,但可以是不同的数据类型。列表(list)列表可以包含任何类型的对象。可以包含向量、矩阵、高维数组,也可以包含列表46对象的类数组(array)46运算符数学运算 运算后给出数值结果+,-,*,/,(幂幂)比较运算 运算后给出判别结果(TRUE FALSE),=,=,!=逻辑运算 与、或、非!,&,&,|,|47运算符数学运算 运算后给出数值结果47数据表的行与列低地33220251049样方5低地20260241238样方4山

22、坡45390201146样方3山坡30350261251样方2山顶25600221540样方1类型坡度海拔属数科数物种数行名Row names字符串列名 Column names每列可看做带名称的向量表1 数据表、数据框与向量字符串、因子每行作为一个Entry48数据表的行与列低地33220251049样方5低地20260数据框的组成每个数据表可以看作一个数据框(dataframe)。每一列(column)作为一个向量(vector)。由很多不同类型的向量组成,如字符型,因子型,数值型。每一行(row)作为一个记录(entry)如何生成数据框?两种办法:(1)从外部数据读取(2)各类型因子组合

23、成数据框49数据框的组成每个数据表可以看作一个数据框(dataframe外部数据读取 最为常用的数据读取方式是用read.table()函数或read.csv()函数读取外部txt或csv格式的文件。txt文件,制表符间隔 csv文件,逗号间隔 一些R程序包(如foreign)也提供了直接读取Excel,SAS,dbf,Matlab,spss,systat,Minitab文件的函数。50外部数据读取 最为常用的数据读取方式是用read.tabread.csv()的使用例:test.data-read.csv(D:/R/test2.csv,header=T)header=T表示将数据的第一行作为

24、标题。read.table(file=file.choose(),header=T)可以弹出对话框,选择文件。51read.csv()的使用例:test.data-read例:从数据输入到t检验编号123456身高 m1.751.801.651.901.741.91体重kg607257909572表2 六名患者的身高和体重现有6名患者的身高和体重,检验体重除以身高的平方是否等于22.5。52例:从数据输入到t检验编号123456身高 m1.751.8第一种方式:从控制台输入数据数据量较少时可以从控制台直接输入:height-c(1.75,1.80,1.65,1.90,1.74,1.91)wei

25、ght-c(60,72,57,90,95,72)sq.height-height2 ratio-weight/sq.height t.test(ratio,mu=22.5)53第一种方式:从控制台输入数据数据量较少时可以从控制台直接输入第二种方式 从外部读取数据数据量较大时用read.table函数从外部txt文件读取第1步 将Excel中的数据另存为.txt格式(制表符间隔)或.csv格式。第2步 用read.table()或read.csv()函数将数据读入R工作空间,并赋值给一个对象。54第二种方式 从外部读取数据数据量较大时用read.table图14 在Excel中将数据存为txt文

26、件55图14 在Excel中将数据存为txt文件55例:t检验(续)一般从txt文档读取数据。每一行作为一个观测值。每一行的变量用制表符,空格或逗号间隔开。read.table(”位置位置”,header=T)read.csv(”位置位置”,header=T)#从外部读取数据data1-read.table(d:/t.test.data.txt,header=T)bmi-data1$weight/data1$height2t.test(bmi,mu=22.5)#t检验56例:t检验(续)一般从txt文档读取数据。每一行作为一个观测练习三:数据读取和t检验将表2中的数据录入Excel中,另存为t

27、.test.txt文件。用read.table函数读取该文件。t.test.data-read.table(“X:/t.test.txt”,header=TRUE)对变量t.test.data中的attach(t.test.data)ratio-weight/height2t.test(ratio)57练习三:数据读取和t检验将表2中的数据录入Excel中,另存例:单因素方差分析 将三种不同菌型的伤寒病毒a,b,c分别接种于10,9,和11只小白鼠上,观察其存活天数,问三种菌型下小白鼠的平均存活天数是否有显著差异。a菌株:菌株:2,4,3,2,4,7,7,2,5,4 b菌株:菌株:5,6,8,

28、5,10,7,12,6,6 c菌株:菌株:7,11,6,6,7,9,5,10,6,3,10 58例:单因素方差分析 将三种不同菌型的伤寒病毒a,b,c分准备数据表图15 数据表的准备day和type 各为一列59准备数据表图15 数据表的准备59例:方差分析(续)#数据读取,将test1.txt中的内容保存到bac中,header=T表示保留标题行。bac-read.table(d:/anova.data.txt,header=T)#将ba数据框中的type转换为因子(factor)bac$type-as.factor(bac$type)ba.an-aov(lm(daytype,data=ba

29、c)summary(ba.an)boxplot(daytype,data=bac,col=red)60例:方差分析(续)#数据读取,将test1.txt中的内容保图16 三种菌型对小白鼠影响的箱线图61图16 三种菌型对小白鼠影响的箱线图61练习四:方差分析和箱线图绘制1 在excel中准备数据表2 用R读取数据表3 输入如下命令进行方差分析、绘制箱线图boxplot(daytype,data=bac,col=red)ba.an30的行,提取其中的某一列,进行分析等。63向量、矩阵和数据框的创建有时需要对读入的数据进行操作,将某一向量的创建四种类型的向量字符型character-c(China

30、,Korea,Japan,UK,USA,France,India,Russia)数值型numeric-c(1,3,6,7,3,8,6,4)逻辑型logical-c(T,F,T,F,T,F,F,T)复数型 略64向量的创建四种类型的向量64向量的创建生成向量的函数 c(),rep(),seq(),”:”c(2,5,6,9)rep(2,times=4)seq(from=3,to=21,by=3)1 3 6 9 12 15 18 21“:”1:15 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15通过与向量的组合,产生更为复杂的向量。rep(1:2,c(10,15)65向量

31、的创建生成向量的函数 c(),rep(),seq(),”向量创建产生随机数runif(10,min=0,max=1)rnorm(10,mean=0,sd=1)几个随机数的相关函数几个随机数的相关函数概率密度 dunif(x,min=0,max=1,log=FALSE)累积函数 punif(q,min=0,max=1,)分位数 qunif(p,min=0,max=1,)随机均匀分布 runif(n,min=0,max=1)66向量创建产生随机数runif(10,min=0,矩阵的创建生成矩阵的函数 dim()和和matrix()dim()定义矩阵的行列数,例如:定义矩阵的行列数,例如:x-1:1

32、2 dim(x)-c(3,4),1,2,3,4 1,1 4 7 10 2,2 5 8 11 3,3 6 9 12 matrix.x-matrix(1:12,nrow=3,byrow=T)t(x)#转置 为行或列添加名称:row.names()col.names()67矩阵的创建生成矩阵的函数 dim()和matrix()67数据框的创建创建数据框的函数:data.frame(),as.data.frame(),cbind(),rbind()cbind()#按列组合成数据框rbind()#按行组合成数据框data.frame()#生成数据框head()#默认访问数据的前6行68数据框的创建创建数

33、据框的函数:data.frame(),a列表的创建列表可以是不同类型甚至不同长度的向量(数值型,逻辑型,字符型等等)、数据框甚至是列表的组合。list()例如list(character,numeric,logical,matrix.x)69列表的创建列表可以是不同类型甚至不同长度的向量(数值型,逻辑类的判断对象类型判断mode()判断存储的类型class()判断数据的类根据数据的类,采用相应的处理方法。以下函数,主要用在函数处理异常时使用,目的是增强程序的稳健性。is.numeric()#返回值为TRUE或FALSEis.logical()#是否为逻辑值is.charactor()#是否为字

34、符串is.null()#是否为空is.na()#是否为na70类的判断对象类型判断70类的转换as.numeric()#转换为数值型as.logical()#转换为逻辑型as.charactor()#转换为字符串as.matrix()#转换为矩阵as.data.frame()#转换为数据框as.factor()#转换为因子71类的转换as.numeric()#转换为数值型71向量内的元素引用#Dalgaard书中的例子书中的例子intake.pre-c(5260,5470,5640,6180,6390,6515,6805,7515,7515,8230,8770)intake.post-c(39

35、10,4220,3885,5160,5645,4680,5265,5975,6790,6900,7335)intake.pre5;#引用第5个元素intake.prec(3,5,7)#引用第3,5,7个元素v-c(3,5,7);intake.prev;intake.pre1:5;#引用第1到5个元素intake.pre-c(3,5,7)#去除第3,5,7元素72向量内的元素引用#Dalgaard书中的例子72数据框内元素的引用intake-data.frame(intake.pre,intake.post)引用数据框中的元素引用数据框中的元素(1)$引用列,后面为列的名称例如例如 intake

36、$intake.pre(2),方括号引用,逗号前为行,逗号后为列intake,1;引用第1列intake5,;引用第5行intake5,1;引用第1列,第5行i=1:5;intakei,引用1到5行73数据框内元素的引用intake 70001 FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUEintake.preintake.pre 7000intake.pre 7000&intake.pre 7000&intake.pre=800076条件筛选条件筛选是先对变量否满足条件进行判断,满足为TRUE练习五:下标和条件筛选创

37、建一个2到50的向量 vector12,4,6,8,.,48,50vector14077练习五:下标和条件筛选创建一个2到50的向量 vector1排 序将向量中的元素按照一定顺序排列。sort()按数值大小排序举例:intake$intake.pre sort(intake$intake.pre)order()默认给出从小到大的出现序号。order(intake$post)o-intakeorder(intake$intake.pre),78排 序将向量中的元素按照一定顺序排列。78工作空间imageR的所有对象都在计算机内存的工作空间中。ls()列出工作空间中的对象rm()删除工作空间中的

38、对象rm(list=ls()删除空间中所有对象save.image()保存工作镜像sink()将运行结果保存到指定文件中getwd()显示当前工作文件夹setwd()设定工作文件夹可将结果保存在image中,形式为.Rdata文件,里面保存了R当前工作空间中的各种对象,包括函数。79工作空间imageR的所有对象都在计算机内存的工作空间中。7输入历史 history输入的命令,在R中作为历史history保存,可输入函数history()#查看输入历史history(Inf)#查看打开R之后所有的输入可用向上或向下的箭头切换输入的行。80输入历史 history输入的命令,在R中作为历史his

39、to练习六:了解工作路径1 查看当前R工作的空间目录getwd()2 将R工作的路径设置为 d:/data/setwd(d:/data)save.image(example.Rdata)load(example.Rdata)3 历史 history(Inf)81练习六:了解工作路径1 查看当前R工作的空间目录81三 脚本编程Scripting82三 脚本编程Scripting82脚本语言脚本语言 脚本语言(scripting language)又称动态语言,是依靠解释器完成相应的功能的一类计算机语言,通常以ASCII码的文本格式保存源程序。特点 脚本语言语法和结构通常比较简单,不需要编译,通过

40、解释器对脚本进行解释,从而给出结果,能用简单的代码完成复杂的功能,但是速度较慢。常见的脚本语言 Windows批处理程序,PHP,Perl,Python,Ruby,JavaScript等。等。83脚本语言脚本语言83集成开发环境 很多计算机语言都有IDE(integrated development environment),即集成开发环境,如 Windows的VisualStudio,Visual Basic等等。但是R通常无需集成开发环境,脚本在一般的文本编辑器里即可编辑。如 Windows自带的记事本,Notepad+,UltraEdit,TinnR。Linux下的Vi,Vim,Emac

41、s等等。在代码较多的情况下,常需要对行数、函数、括号、函数选项等进行高亮显示,设置成不同的颜色,以减少错误的发生。84集成开发环境 很多计算机语言都有IDE(integrate编辑器R自带的脚本编辑器 Editplus()TinnR(http:/www.sciviews.org/Tinn-R/)Ultraedit( 等等85编辑器R自带的脚本编辑器85图17 TinnR对R脚本的高亮显示86图17 TinnR对R脚本的高亮显示86图18 NotePad+对R脚本的高亮显示87图18 NotePad+对R脚本的高亮显示87例-线性回归转速rpm 202224262830323436384042杂

42、质率%8.49.511.810.413.314.813.214.716.416.518.918.5n对一批涂料进行研究,确定搅拌速度对杂质含量的影响,数据如下,试进行回归分析表3 搅拌速度对涂料中杂质的影响88例-线性回归转速rpm 2022242脚本举例#将以下代码粘贴到编辑器中,另存为regression.r文件。rate-c(20,22,24,26,28,30,32,34,36,38,40,42)impurity-c(8.4,9.5,11.8,10.4,13.3,14.8,13.2,14.7,16.4,16.5,18.9,18.5)plot(impurityrate)regFileOpe

43、n Script#Ctrl+R运行3 直接粘贴到R控制台ctrl+c,ctrl+v第三种最为简单直接90运行脚本三种运行方式90练习十:R脚本运行将R命令粘贴到记事本中,另存为regression.R文件。分别通过三种方式运行R脚本。91练习十:R脚本运行将R命令粘贴到记事本中,另存为regres四 R绘图92四 R绘图92图19 R绘制的图形93图19 R绘制的图形93绘制地图图20 左图左图 maps包包 map()右图右图 PBSmapping包包 addBubbles()94绘制地图图20 左图 maps包 map()右图 PBSm绘制地图图21 fields 包实例 spdep 包实

44、例95绘制地图图21 fields 包实例 spdep 包实例空间分析绘图图22 gstat程序包实例96空间分析绘图图22 gstat程序包实例96R绘图功能 R具备卓越的绘图功能,通过参数设置对图形进行精确控制。绘制的图形能满足出版印刷的要求,可以输出Jpg、tiff、eps、emf、pdf、png等各种格式。通过与GhostScript软件的结合,可以生成600dpi,1200dpi的等各种分辨率和尺寸的图形。绘图是通过绘图函数结合相应的选项完成的。绘图函数包括高级绘图函数和低级绘图函数。97R绘图功能 R具备卓越的绘图功能,通过参数设置对图高级绘图函数plot()绘制散点图等多种图形,

45、根据数据的类,调用相应的函数绘图hist()频率直方图boxplot()箱线图stripchart()点图barplot()柱状图dotplot()点图piechart()饼图matplot()数学图形98高级绘图函数plot()绘制散点图等多种图形,图23 散点图与箱线图99图23 散点图与箱线图99低级绘图函数lines()添加线curve()添加曲线abline()添加给定斜率的线points()添加点segments()折线arrows()箭头axis()坐标轴box()外框title()标题text()文字mtext()图边文字100低级绘图函数lines()添加线curve()添加

46、曲线abl绘图参数参数用在函数内部,在没有设定值时使用默认值。font=字体,lty=线类型,lwd=线宽度,pch=点的类型,xlab=横坐标,ylab=纵坐标,xlim=横坐标范围,ylim=纵坐标范围,也可以对整个要绘制图形的各种参数进行设定参见 par()101绘图参数参数用在函数内部,在没有设定值时使用默认值。101举例:绘图生成0到2之间的50个随机数,分别命名为x,yx-runif(50,0,2)y-runif(50,0,2)绘图:将主标题命名为“散点图”,横轴命名为”横坐标”,纵轴命名为“纵坐标”plot(x,y,main=散点图散点图,xlab=横坐标横坐标,ylab=纵纵坐

47、标坐标)text(0.6,0.6,text at(0.6,0.6)abline(h=.6,v=.6)102举例:绘图生成0到2之间的50个随机数,分别命名为x,y10图24 绘图举例103图24 绘图举例103例:分步绘图1.打开绘图窗口,不绘制任何对象plot(x,y,type=n,xlab=,ylab=,axes=F)2.添加坐标点 points(x,y)3.添加坐标轴axis(1);axis(at=seq(0.2,1.8,0.2),side=2)4.补齐散点图的边框 box()5.添加标题、副标题、横轴说明、纵轴说明title(main=Main title,sub=subtitle,x

48、lab=x-label,ylab=y-label)104例:分步绘图1.打开绘图窗口,不绘制任何对象104图25 分步绘图123456105图25 分步绘图123456105一页多图图26 一页多图par()par(mfrow=c(2,2).106一页多图图26 一页多图106在原有图形上添加元素举例:举例:x-rnorm(100)#生成随机数hist(x,freq=F)#绘制直方图curve(dnorm(x),add=T)#添加曲线h-hist(x,plot=F)#绘制直方图ylim-range(0,h$density,dnorm(0)#设定纵轴的取值范围hist(x,freq=F,ylim

49、=ylim)#绘制直方图curve(dnorm(x),add=T,col=red)#添加曲线107在原有图形上添加元素举例:107图27 在原有直方图上添加曲线108图27 在原有直方图上添加曲线108练习八:绘图练习练习1 将Rplots.r中的代码拷贝到R控制台中,查看R绘制的图形。练习2 对例进行回归分析,并绘制散点图,并为散点图添加回归直线。plot(impurityrate)reg-lm(impurityrate)abline(reg,col=red)summary(reg)109练习八:绘图练习练习1 将Rplots.r中的代码拷贝到R控五 编写函数110五 编写函数110编程基础

50、 R可以灵活的编写程序,用户自己编写的程序可以直接调用。编程时无需声明变量的类型,这与C,C+等语言不同。基本格式 函数名函数名-function(数据数据,参数参数1=默认值默认值,)异常处理;表达式(循环/判别);return(返回值);函数内部也可用#添加注释111编程基础 R可以灵活的编写程序,用户自己编写的程序可以直函数实例图28 函数实例 data2mat()112函数实例图28 函数实例 data2mat()112程序流程控制 ifif(条件)表达式 if(条件)表达式1 else 表达式2 举例p=0.03 if(p=0.05)print(p 0.05!)113程序流程控制 i

51、fif(条件)表达式 113循环循环 for,whilefor(变量 in 向量)表达式用法:for(i in 1:10)print(i)while(条件)表达式 用法:i-1while(i10)print(i);i-i+1114循环 for,whilefor(变量 in 向量)表达式返回值返回值表示函数输出的结果。返回值必须是一个对象。R默认将最后一行作为返回值。如果函数的结果需要有多个返回值,可以创建一个list(),并返回该对象。也可以用return()函数,设定返回值。但是一个函数的返回的对象只有一个。115返回值返回值表示函数输出的结果。115异常处理如数据输入不能满足要求,或者参数

52、设定错误等等,可能造成函数给出错误的结果,则需要对函数的运行过程发出警告或终止,以提高程序的稳健性。警告的写法if(any(is.na(inputdata)inputdata-na.omit(inputdata)cat(“NAs are found in the input data,and has been removed.n)终止的写法 if(any(is.na(xx)stop(NAs are not allowed!n)116异常处理如数据输入不能满足要求,或者参数设定错误等等,可能造函数举例问题:输入直角三角形的两个边长,求其斜边长。定义函数:rcal-function(x,y)z-x

53、2+y2 result-sqrt(z)return(result)调用函数:rcal(3,4)117函数举例问题:输入直角三角形的两个边长,求其斜边长。117练习九 编写函数编写一个函数,给出两个数之后,直接给出这两个数的平方和。sqtest-function(x,y)z1=x2;z2=y2;z3=z1+z2;return(z3);118练习九 编写函数编写一个函数,给出两个数之后,直接给出这两个六 数据保存119六 数据保存119write.table()write.csv()save.image()sink()unlink()若有LaTeX基础,可以用Sweave()函数该函数能将脚本、程

54、序说明和运算结果直接保存成.tex文件,用LaTeX编译成pdf文件。数据保存120write.table()数据保存120内容回顾1.R是开源的统计绘图软件,也是一种脚本语言,有大量的程序包可以利用。2.R中的向量、列表、数组、函数等都是对象,可以方便的查询和引用,并进行条件筛选。3.R具有精确控制的绘图功能,生成的图可以另存为多种格式。4.R编写函数无需声明变量的类型,能利用循环、条件语句,控制程序的流程。121内容回顾R是开源的统计绘图软件,也是一种脚本语言,有大量的程推荐的教材Crawley Statistics an introduction using R Peter Dalgaa

55、rd Introductory statistics with RE.Paradis R for Beginners Verzani SimpleR.D G Rossiter Introduction to the R Project for Statistical Computing for use at ITC J.Maindonald Using R for data analysis and graphics introduction code and commentary using RVenables,W.N.&Ripley,B.D.Modern Applied Statistic

56、s with S 122推荐的教材Crawley Statistics an inR网络资源R主页:http:/www.r-project.orgR资源列表 NCEAS http:/www.nceas.ucsb.edu/scicomp/software/rR Graphical Manual http:/bm2.genes.nig.ac.jp/RGM2/index.php统计之都:http:/cos.name/QuikR http:/ http:/rbbs.biosino.org/Rbbs/forums/list.page 123R网络资源R主页:http:/www.r-projec谢谢敬请指正!124谢谢124

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!