1、 语言入门第1页,共105页。语言入门第1 页,共1 0 5 页。报告内容一 R简介二 函数与对象三 编写脚本四 R绘图五 编写函数六 数据保存第2页,共105页。报告内容一 R 简介第2 页,共1 0 5 页。一 R 简 介第3页,共105页。一 R 简 介第3 页,共1 0 5 页。R语言的由来o R语言是从S语言演变而来的。oS语言是二十世纪70年代诞生于贝尔实验室,由Rick Becker,John Chambers,Allan Wilks开发。o基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,取得了巨大成功。o1995年由新西兰Auckland大学
2、统计系的Robert Gentleman和Ross Ihaka,编写了一种能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。第4页,共105页。R 语言的由来R 语言是从S 语言演变而来的。第4 页,共1 0 5 页。R软件简介 R是开源软件,代码全部公开,对所有人免费。R可在多种操作系统下运行,如Windows、MacOS、多种Linux和UNIX等。R需要输入命令,可以编写函数和脚本进行批处理运算,语法简单灵活。目前在R网站上约有2100个程序包,涵盖了基础统计学、社会学、经济学、生态学、地理学、医学统计学、生物信息学等诸多方面。第5页,共105页。R 软件
3、简介 R 是开源软件,代码全部公开,对所有人下载和安装RThe Comprehensive R Archive Network简称CRAN,提供下载安装程序和相应软件包。R主页 Windows版本下载地址之一:下载完成后,双击 开始安装。一直点击下一步,各选项默认。第6页,共105页。下载和安装R T h e C o mp r e h e n s i v e R A r c h图1 R软件首页 第7页,共105页。图1 R 软件首页 第7 页,共1 0 5 页。图2 R登陆界面(Windows版)路径:开始所有程序菜单栏菜单栏快捷按钮快捷按钮控制台控制台命令行命令行第8页,共105页。图2 R
4、 登陆界面(Wi n d o w s 版)菜单栏快捷按钮控制台命图3 R Gui 的菜单介绍第9页,共105页。图3 R G u i 的菜单介绍第9 页,共1 0 5 页。练习一:下载和安装R下载并安装R软件了解R的菜单第10页,共105页。练习一:下载和安装R 下载并安装R 软件第1 0 页,共1 0 5 页。R程序包为什么要安装程序包?为什么要安装程序包?特定的分析功能,需要用相应的程序包实现。例如:系统发育分析,往往要用到ape程序包,群落生态学vegan包等等。程序包是什么?程序包是什么?R程序包是多个函数的集合,具有详细的说明和示例。Window下的R程序包是已经编译好的zip包。每
5、个程序包包含R函数、数据、帮助文件、描述文件等。第11页,共105页。R 程序包为什么要安装程序包?第1 1 页,共1 0 5 页。常用R程序包base-R 基础功能包stats-R统计学包nlme-线性及非线性混合效应模型Graphics-绘图lattice-栅格图ape-系统发育与进化分析apTreeshape-进化树分析seqinr-DNA序列分析ade4-利用欧几里得方法进行生态学数据分析第12页,共105页。常用R 程序包b a s e-R 基础功能常用R程序包cluster-聚类分析ecodist-生态学数据相异性分析mefa-生态学和生物地理学多元数据处理mgcv-广义加性模型相
6、关mvpart-多变量分解nlme-线性及非线性混合效应模型ouch-系统发育比较BiodiversityR-基于Rcmdr的生物多样性数据分析vegan-植物与植物群落的排序,生物多样性计算 第13页,共105页。常用R 程序包c l u s t e r-聚类分析第1 3 页,共1 0常用R程序包maptools-空间对象的读取和处理sp-空间数据处理spatstat-空间点格局分析,模型拟合与检验splancs-空间与时空点格局分析picante-群落系统发育多样性分析第14页,共105页。常用R 程序包ma p t o o l s-空间对象的读取和处理第1 4图4 CRAN Task V
7、iews:对程序包的分类介绍第15页,共105页。图4 C R A N T a s k V i e w s:对程序包的分类介绍第图5 vegan包页面第16页,共105页。图5 v e g a n 包页面第1 6 页,共1 0 5 页。R程序包在CRAN 提供了每个包的源代码和编译好的MacOS、Window下的程序包以vegan包为例,CRAN提供了:MacOS X binary:vegan_1.15-3.tgz 等Window平台下程序包为zip文件,安装时不要解压缩不要解压缩。第17页,共105页。R 程序包在C R A N 提供了每个包的源代码和编译好的Ma c O Saxis(at=
8、seq(0.选取vector1中的第10,15,20个元素 vector1c(10,15,20)ainstall packages from local files选择光盘或者本地磁盘上存储zip包的文件夹。第18页,共105页。a x i s(a t=s e q(0.R 程序包安装1 连网时,用函数i程序包使用在控制台中输入如下命令:library(vegan)library(ade4)调用程序包内的函数与R R内置的函数调用方法一样library(vegan)Warning message:第19页,共105页。程序包使用在控制台中输入如下命令:第1 9 页,共1 0 5 页。练习二 安装
9、并导入程序包安装程序包程序包从本地zip文件安装程序包调用程序包library(vegan)library(ape)第20页,共105页。练习二 安装并导入程序包安装程序包第2 0 页,共1 0 5 页。查看帮助文件如何知道ape程序包内部都有哪些函数?最常用的方法:1 菜单 帮助Html帮助2 查看pdf帮助文档(从程序包下载页面下载)第21页,共105页。查看帮助文件如何知道a p e 程序包内部都有哪些函数?第2 1 页,查看帮助文件 1 help()2?3()4 apropos()5 RGuiHelpHtml help 6 查看R包pdf手册第22页,共105页。查看帮助文件 1 h
10、e l p()第2 2 页,共1帮助文件的内容以lm函数为例:lm(stats)#函数名及所在包 Fitting Linear Models#标题Description#函数描述Usage#默认选项Arguments#参数Details#详情Author(s)#作者References#参考文献Examples#举例第23页,共105页。帮助文件的内容以l m函数为例:第2 3 页,共1 0 5 页。练习三 查看帮助文件打开ape软件包的帮助文件library(ape)查找ape包中函数的帮助输入输入 将其中的将其中的Example文件粘贴到文件粘贴到Console中,查看运行中,查看运行的结
11、果。的结果。第24页,共105页。练习三 查看帮助文件打开a p e 软件包的帮助文件第2 4 页,共1图形界面之一:R Commander图6 R commander 界面 library(Rcmdr)界面操作代码结果输出第25页,共105页。图形界面之一:R C o mma n d e r 图6 R c o mma n为什么要学习编程?界面操作直观易学,但也存在一些不足:操作的过程难以保存,数据处理不够灵活,在进行步骤繁多的数据处理工作时十分费时费力;在建立模型或自己编写函数时也会遇到困难。而这些困难可以通过编程解决。学习R编程,首先要了解R的函数、对象及其操作。第26页,共105页。为什
12、么要学习编程?界面操作直观易学,但也存在一些二 R函数与对象第27页,共105页。二 R 函数与对象第2 7 页,共1 0 5 页。数据表的行与列物种数科数属数海拔坡度类型样方140152260025山顶样方251122635030山坡样方346112039045山坡样方438122426020低地样方549102522033低地行名Row names字符串列名 Column names每列可看做带名称的向量表1 数据表、数据框与向量字符串、因素每行作为一个Entry第28页,共105页。数据表的行与列物种数科数属数海拔坡度类型样方1 4 0 1 5 2 2 6R的函数R是一种解释性语言,不需
13、要先编译成.exe文件,输入后可直接运行。函数形式function(对象,选项=)平均值 mean()线性回归 lm(yx,data=test)R处理的所有数据、变量、函数和结果都以对象的形式保存。第29页,共105页。R 的函数R 是一种解释性语言,不需要先编译成.e x e 文件,输入R的函数每一个函数执行特定的功能,后面紧跟括号,例如:平均值 mean()求和 sum()绘图 plot()排序 sort()除了基本的运算之外,R的函数又分为高级和低级函数,高级函数内部嵌套了复杂的低级函数,例如plot()是高级绘图函数,函数本身会根据数据的类型,经过程序内部的函数判别之后,绘制相应类型的
14、图形,并有大量的参数可选择。第30页,共105页。R 的函数每一个函数执行特定的功能,后面紧跟括号,例如:第3 0部分函数计算计算log(x)log10(x)exp(x)sin(x)cos(x)tan(x)asin(x)acos(x)min(x)max(x)range(x)length(x)统计检验统计检验mean(x)sd(x)var(x)median(x)quantile(x,p)cor(x,y)t.test()lm(y x)wilcox.test()kruskal.test()统计检验统计检验lm(y f+x)lm(y x1+x2+x3)glm(y x1+x2+x3,binomial).
15、第31页,共105页。部分函数计算统计检验统计检验第3 1 页,共1 0 5 页。图7 箱线图修饰前后(左:默认值,右:修改属性后)boxplot(count spray,data=InsectSprays)boxplot(count spray,data=InsectSprays,col=red)R函数调用及其选项第32页,共105页。图7 箱线图修饰前后(左:默认值,右:修改属性后)R 函数调用R函数调用及其选项函数的调用方法,函数名+()如 plot(),lm(),并将对象放入括号中,“=”表示设定参数。例如:boxplot(daytype,data=bac,col=“red“,xlab
16、=“Virus”,ylab=“days”)daytype,以type为横轴,day为纵轴绘制箱线图。data=bac 数据来源baccol=“red”箱线图为红色xlab=“Virus”横轴名称为Virusylab=“days”纵轴名称为days第33页,共105页。R 函数调用及其选项函数的调用方法,函数名+()如 p l o练习四:查询函数帮助查看boxplot的帮助文件?boxplot查看最后的examples 将帮助文件中的内容粘贴到控制台中,运行并观看运行结果。boxplot(count spray,data=InsectSprays,col=lightgray)选项更改选项更改bo
17、xplot(count spray,data=InsectSprays,col=“red”,xlab=“spray”,ylab=“counts”)第34页,共105页。练习四:查询函数帮助查看b o x p l o t 的帮助文件第3 4 页,共赋值与注释在控制台中键入如下命令2+2a-2代替b-2c-a+bc#注释赋值符号第35页,共105页。赋值与注释在控制台中键入如下命令赋值符号第3 5 页,共1 0 5 页为对象起名 R是区分大小区分大小写的,A与a是不同的。对象名不能用数字开头,但是数字可以放在中间或结尾。推荐用”.”作为间隔,例如。举例:一个向量a,包含了四个元素,a,=,=,!=
18、逻辑运算 与、或、非!,&,&,|,|第39页,共105页。运算符数学运算 运算后给出数值结果第3 9 页,共1 0 5 页。外部数据读取 最为常用的数据读取方式是用()函数或()函数读取外部txt或csv格式的文件。txt文件,制表符间隔 csv文件,逗号间隔 一些R程序包(如foreign)也提供了直接读取Excel,SAS,dbf,Matlab,spss,systat,Minitab文件的函数。第40页,共105页。外部数据读取 最为常用的数据读取方式是用()函数或()read.table()的使用例:test.data-(D:/R/test2.txt,header=T)header=T
19、表示将数据的第一行作为标题。(file=file.choose(),header=T)可以弹出对话框,选择文件。第41页,共105页。r e a d.t a b l e()的使用例:t e s t.d a t a -(实例:从数据输入到t检验编号123456身高 m1.751.801.651.901.741.91体重kg607257909572表2 六名患者的身高和体重现有6名患者的身高和体重,检验体重除以身高的平方是否等于。第42页,共105页。实例:从数据输入到t 检验编号1 2 3 4 5 6 身高 m1.7 5 1.第一种方式:从控制台输入数据数据量较少时可以从控制台直接输入:heig
20、ht-c(1.75,1.80,1.65,1.90,1.74,1.91)weight-c(60,72,57,90,95,72)sq.height-height2(ratio,mu=22.5)第43页,共105页。第一种方式:从控制台输入数据数据量较少时可以从控制台直接输入第二种方式 从外部读取数据数据量较大时用函数从外部txt文件读取第1步 将Excel中的数据另存为.txt格式(制表符间隔)或.csv格式。第2步 用()或()函数将数据读入R工作空间,并赋值给一个对象。第44页,共105页。第二种方式 从外部读取数据数据量较大时用函数从外部t x t 文件图8 在Excel中将数据存为txt文
21、件第45页,共105页。图8 在E x c e l 中将数据存为t x t 文件第4 5 页,共1 0 5 页实例:t检验(续)一般从txt文档读取数据。每一行作为一个观测值。每一行的变量用制表符,空格或逗号间隔开。(”位置位置”,header=T)(”位置位置”,header=T)#从外部读取数据data1-T)bmi-data1$weight/data1$height2(bmi,mu=22.5)#t检验第46页,共105页。实例:t 检验(续)一般从t x t 文档读取数据。每一行作为一个观练习五:数据读取和t检验将表2中的数据录入Excel中,另存为文件。用函数读取该文件。对变量中的at
22、tachratio-weight/height2(ratio)第47页,共105页。练习五:数据读取和t 检验将表2 中的数据录入E x c e l 中,另存实例:从数据输入到单因素方差分析 将三种不同菌型的伤寒病毒a,b,c分别接种于10,9,和11只小白鼠上,观察其存活天数,问三种菌型下小白鼠的平均存活天数是否有显著差异。a菌株:2,4,3,2,4,7,7,2,5,4 b菌株:5,6,8,5,10,7,12,6,6 c菌株:7,11,6,6,7,9,5,10,6,3,10 第48页,共105页。实例:从数据输入到单因素方差分析 将三种不同菌型的伤寒病准备数据表图9 数据表的准备day和ty
23、pe 各为一列第49页,共105页。准备数据表图9 数据表的准备第4 9 页,共1 0 5 页。实例:方差分析(续)#数据读取,将中的内容保存到bac中,header=T表示保留标题行。bac-#将ba数据框中的type转换为因子(factor)bac$type-(bac$type)ba.an-aov(lm(daytype,data=bac)summary(ba.an)boxplot(daytype,data=bac,col=red)第50页,共105页。实例:方差分析(续)#数据读取,将中的内容保存到b a c 中,图10 三种菌型对小白鼠影响的箱线图第51页,共105页。图1 0 三种菌型
24、对小白鼠影响的箱线图第5 1 页,共1 0 5 页。练习六:方差分析和箱线图绘制1 在excel中准备数据表2 用R读取数据表3 输入如下命令进行方差分析、绘制箱线图boxplot(daytype,data=bac,col=red)ba.an30的行,提取其中的某一列,进行分析等。第53页,共105页。向量、矩阵和数据框的生成与条件筛选有时需要对读入的数据进行操向量的创建四种类型的向量字符型character-c(China,Korea,Japan,UK,USA,France,India,Russia)数值型numeric-c(1,3,6,7,3,8,6,4)逻辑型logical-c(T,F,
25、T,F,T,F,F,T)复数型 略第54页,共105页。向量的创建四种类型的向量第5 4 页,共1 0 5 页。向量的创建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)第55页,共105页。向量的创建c(2,5,6,9)第5 5 页,共1 0 5 页。向量:随机数的生成runif(10,min=0,max=1)rnorm(10,mean=0,sd=1)第
26、56页,共105页。向量:随机数的生成r u n i f(1 0,mi n =0,m定义矩阵的维度dim()和和matrix()x-1:12dim(x)-c(3,4),1,2,3,41,1 4 7 102,2 5 8 113,3 6 9 12matrix.x-matrix(1:12,nrow=3,byrow=T)t(x)#转置为行或列添加名称:()()第57页,共105页。定义矩阵的维度d i m()和ma t r i x()第5 7 页,共1 0 5数据框的创建cbind()#按列组合成数据框country.data-cbind(character,numeric,logical)rbind
27、()#按行组合成数据框()#生成数据框d-(character,numeric,logical)head(d)#访问数据的前6行:第58页,共105页。数据框的创建c b i n d()#按列组合成数据框第5 8 页,共列表的创建列表可以是不同类型甚至不同长度的向量(数值型,逻辑型,字符型等等)、数据框甚至是列表的组合。list()例如list(character,numeric,logical,matrix.x)第59页,共105页。列表的创建列表可以是不同类型甚至不同长度的向量(数值型,逻辑对象的类型的判断对象类型判断mode()class()()#返回值为TRUE或FALSE()()()
28、第60页,共105页。对象的类型的判断对象类型判断第6 0 页,共1 0 5 页。对象的类型的判断对象类型转换as.numeric()#转换为数值型as.logical()as.charactor()as.matrix()as.dataframe()第61页,共105页。对象的类型的判断对象类型转换第6 1 页,共1 0 5 页。练习七:因子生成将将 100,200,400,600,800 输入R中,保存到numeric对象中 numeric-c(100,200,400,600,800)将numeric转换为factor factor.numeric-(numeric)查看的内容 第62页,共
29、105页。练习七:因子生成将 1 0 0,2 0 0,4 0 0,6 0 0,引用向量内的元素intake.pre-c(5260,5470,5640,6180,6390,6515,6805,7515,7515,8230,8770)intake.post-c(3910,4220,3885,5160,5645,4680,5265,5975,6790,6900,7335)intake.pre5;intake.prec(3,5,7)v-c(3,5,7);intake.previntake.pre1:5;intake.pre-c(3,5,7)第63页,共105页。引用向量内的元素i n t a k e.
30、p r e -c(5 2 6 0,引用数据框中的元素d-(intake.pre,intake.post)$引用d$,方括号引用d,1;d5,第64页,共105页。引用数据框中的元素d 70001 FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUEintake.preintake.pre 7000intake.postintake.pre 7000&intake.pre 7000&intake.pre=8000第66页,共105页。条件筛选条件筛选是先对变量否满足条件进行判断,满足为T R U E练习八:条件筛选创建一个2到
31、50的向量 vector12,4,6,8,.,48,50vector140第67页,共105页。练习八:条件筛选创建一个2 到5 0 的向量 v e c t o r 1 第6 7排序将向量中的元素按照一定顺序排列。sort()按数值大小排序举例:intake$post sort(intake$post)order()给出从小到大的出现序号。order(intake$post)o-order(intake$post)第68页,共105页。排序将向量中的元素按照一定顺序排列。第6 8 页,共1 0 5 页。工作空间ls()列出工作空间中的对象rm()删除工作空间中的对象rm(list=ls()删除
32、空间中所有对象()保存工作镜像sink()将运行结果保存到指定文件中getwd()显示当前工作文件夹setwd()设定工作文件夹第69页,共105页。工作空间l s()列出工作空间中的对象第6 9 页,共1 0 5 页。练习九:了解工作路径1 查看当前R工作的空间目录getwd()2 将R工作的路径设置为 d:/data/setwd(“d:/data”)第70页,共105页。练习九:了解工作路径1 查看当前R 工作的空间目录第7 0 页,共三 编写脚本第71页,共105页。三 编写脚本第7 1 页,共1 0 5 页。编写脚本(Scripting)脚本是什么?脚本是一系列命令。可以先批量的编号程
33、序,或者对别人已经编好的程序进行修改。之后输入到控制台进行调试,以满足数据分析的需求。语言高亮显示 在代码较多的情况下,有时需要对行数、函数、括号、函数选项等进行高亮显示,设置成不同的颜色,以减少错误。第72页,共105页。编写脚本(S c r i p t i n g)脚本是什么?第7 2 页,共1 0 5图11 TinnR对R脚本的高亮显示第73页,共105页。图1 1 T i n n R 对R 脚本的高亮显示第7 3 页,共1 0 5 页。图12 NotePad+对R脚本的高亮显示第74页,共105页。图1 2 N o t e P a d+对R 脚本的高亮显示第7 4 页,共1 0编辑器o
34、 R自带的脚本编辑器o Editplus()o TinnR()o Ultraedit()o Emacs()o Notepad+与NpptoR组合()o 记事本或写字板 等等第75页,共105页。编辑器 R 自带的脚本编辑器第7 5 页,共1 0 5 页。举例-回归分析脚本转速rpm 202224262830323436384042杂质率%8.49.511.810.413.314.813.214.716.416.518.918.5n对一批涂料进行研究,确定搅拌速度对杂质含量的影响,数据如下,试进行回归分析表3 搅拌速度对涂料中杂质的影响第76页,共105页。举例-回归分析脚本转速r p m 2
35、0 2 2脚本举例#将以下代码粘贴到编辑器中,另存为文件。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)regFileOpen Script#Ctrl+R运行3 直接粘贴到R控制台ctrl+c,ctrl+v第78页,共105页。运行脚本三种运行方式第7 8 页,共1 0 5 页。练习十:R脚本运行将R命令粘贴到记事本中,另存为文件。分别通过三种方式运行R脚本。第79页,共105页。练
36、习十:R 脚本运行将R 命令粘贴到记事本中,另存为文件。第7 9四 R绘图第80页,共105页。四 R 绘图第8 0 页,共1 0 5 页。图13 R绘制的图形第81页,共105页。图1 3 R 绘制的图形第8 1 页,共1 0 5 页。R绘图功能 R具备卓越的绘图功能,通过参数设置对图形进行精确控制。绘制的图形能满足出版印刷的要求,可以输出JPEG、TIFF、EPS、emf、pdf、png等各种格式。绘图是通过绘图函数结合相应的选项完成的。绘图函数包括高水平绘图函数和低水平绘图函数。第82页,共105页。R 绘图功能 R 具备卓越的绘图功能,通过参数设置对图形进行精高水平绘图函数plot()
37、绘制散点图等多种图形hist()直方图boxplot()箱线图stripchart()点图barplot()条形图dotplot()点图piechart()饼图()matplot()第83页,共105页。高水平绘图函数p l o t()绘制散点图等多种图形第8 3 页,共图14 散点图与箱线图举例第84页,共105页。图1 4 散点图与箱线图举例第8 4 页,共1 0 5 页。低水平绘图函数lines()添加线curve()添加曲线abline()添加给定斜率的线points()添加点segments()折线arrows()箭头axis()坐标轴box()外框title()标题text()文字
38、mtext()图边文字 第85页,共105页。低水平绘图函数l i n e s()添加线第8 5 页,共1 0 5 页。绘图参数参数用在函数内部,在没有设定值时使用默认值。font=字体lty=线类型lwd=线宽度pch=点的类型,xlab=横坐标ylab=纵坐标xlim=横坐标范围ylim=纵坐标范围第86页,共105页。绘图参数参数用在函数内部,在没有设定值时使用默认值。第8 6 页举例:绘图生成0到2之间的50个随机数,分别命名为x,yx-runif(50,0,2)y-runif(50,0,2)绘图:将主标题命名为“散点图”,横轴命名为”横坐标”,纵轴命名为“纵坐标”plot(x,y,m
39、ain=“散点图”,xlab=“横坐标”,ylab=“纵坐标)text(0.6,0.6,text at(0.6,0.6)abline(h=.6,v=.6)第87页,共105页。举例:绘图生成0 到2 之间的5 0 个随机数,分别命名为x,y 第8图15 绘图举例第88页,共105页。图1 5 绘图举例第8 8 页,共1 0 5 页。例:分步绘图plot(x,y,type=n,xlab=,ylab=,axes=F)#打开绘图窗口,不绘制任何对象points(x,y)#添加坐标点axis(1)#添加横轴axis(at=seq(0.2,1.8,0.2),side=3)#添加纵轴box()#补齐散点图
40、的边框title(main=Main title,sub=subtitle,xlab=x-label,ylab=y-label)#添加标题、副标题、横轴说明、纵轴说明第89页,共105页。例:分步绘图p l o t(x,y,t y p e=n ,x l a图16 分步绘图ABCDEF第90页,共105页。图1 6 分步绘图A B C D E F 第9 0 页,共1 0 5 页。一页多图par()par(mfrow=c(2,2).图17一页多图第91页,共105页。一页多图p a r()第9 1 页,共1 0 5 页。在原有图形上添加元素举例:举例:x-rnorm(100)#生成随机数hist(
41、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=ylim)#绘制直方图curve(dnorm(x),add=T,col=red)#添加曲线第92页,共105页。在原有图形上添加元素举例:第9 2 页,共1 0 5 页。图18 在原有直方图上添加曲线第93页,共105页。图1 8 在原有直方图上添加曲线第9 3 页,共1 0 5 页。练习十一:绘图练习练习1 将中的代码拷贝到R控制台中,查看R绘制的图
42、形。练习2 对例进行回归分析,并绘制散点图,并为散点图添加回归直线。plot(impurityrate)reg-lm(impurityrate)abline(reg,col=red)summary(reg)第94页,共105页。练习十一:绘图练习练习1 将中的代码拷贝到R 控制台中,查看R五 编写函数第95页,共105页。五 编写函数第9 5 页,共1 0 5 页。编程基础 R可以灵活的编写程序,用户自己编写的程序可以直接调用。R语言编程时无需声明变量的类型,这与C,C+等语言不同。基本格式 function.name-function(x,y)表达式 函数内部也可用#添加注释第96页,共10
43、5页。编程基础 R 可以灵活的编写程序,用户自己编写的程序可以直程序流程控制 ifif 表达式的写法if(条件)表达式 if(条件)表达式1 else 表达式2 举例:if(p=0.05)print(“p0.05!)第97页,共105页。程序流程控制 i f i f 表达式的写法第9 7 页,共1 0 5 页。循环 for,whilefor(变量 in 向量)表达式 for(i in 1:10)print(i)while(条件)表达式 i-1while(i10)print(i)i-i+1 第98页,共105页。循环 f o r,w h i l e f o r(变量 i n 向量)表达式函数举例
44、定义函数:rcal-function(x,y)z-x2+y2;result-sqrt(z);result;调用函数:rcal(3,4)第99页,共105页。函数举例定义函数:第9 9 页,共1 0 5 页。练习十二 编写函数编写一个函数,给出两个数之后,直接给出这两个数的平方和。sqtest-function(x,y)z1=x2;z2=y2;z3=z1+z2;z3 第100页,共105页。练习十二 编写函数编写一个函数,给出两个数之后,直接给出这两六 数据的保存第101页,共105页。六 数据的保存第1 0 1 页,共1 0 5 页。sink()unlink()若有LaTeX基础,可以用Swe
45、ave()函数该函数能将脚本、程序说明和运算结果直接保存成.tex文件,用LaTeX编译成pdf文件。数据保存第102页,共105页。s i n k()数据保存第1 0 2 页,共1 0 5 页。总 结oR是开源的统计绘图软件,也是一种自解释的语言,有大是开源的统计绘图软件,也是一种自解释的语言,有大量的程序包可以利用。量的程序包可以利用。oR中的向量、列表、数组、统计结果等都是对象,可以中的向量、列表、数组、统计结果等都是对象,可以方便的生成所需对象,并进行筛选。方便的生成所需对象,并进行筛选。oR脚本是输入的多个命令行。脚本是输入的多个命令行。oR具有精确控制的绘图功能,生成的图可以另存为
46、多种具有精确控制的绘图功能,生成的图可以另存为多种格式。格式。oR编写函数无需声明变量的类型,能利用循环、条件编写函数无需声明变量的类型,能利用循环、条件语句,控制程序的流程。语句,控制程序的流程。第103页,共105页。总 结R 是开源的统计绘图软件,也是一种自解释的语言,有大量推荐教材o Peter Dalgaard Introductory statistics with Ro Crawley Statistics an introduction using R o E.Paradis R for Beginners o Verzani SimpleR.o D G Rossiter In
47、troduction to the R Project for Statistical Computing for use at ITC o J.Maindonald Using R for data analysis and graphics introduction code and commentary using Ro Venables,W.N.&Ripley,B.D.Modern Applied Statistics with S 第104页,共105页。推荐教材P e t e r D a l g a a r d I n t r o d u c t o rR资源R主页:CRAN 北京镜像(数学所)群落生态学数据分析 Statistics with R NCEAS提供的R资源 第105页,共105页。R 资源R 主页:第1 0 5 页,共1 0 5 页。