R软件介绍ppt课件.ppt
52页一一 R 软软 件件 简简 介介1 1pptppt课件课件课件课件. .R语言的由来•R R语言语言是从是从S S语言语言演变而来的演变而来的•S S语言是二十世纪语言是二十世纪7070年代诞生于贝尔实验室,由年代诞生于贝尔实验室,由Rick Rick Becker, John Chambers, Allan WilksBecker, John Chambers, Allan Wilks开发•基于基于S S语言开发的商业软件语言开发的商业软件SplusSplus,可以方便的编写函,可以方便的编写函数、建立模型,具有良好的扩展性,取得了巨大成功数、建立模型,具有良好的扩展性,取得了巨大成功•19951995年由新西兰年由新西兰AucklandAuckland大学统计系的大学统计系的R Robert obert GentlemanGentleman和和R Ross Ihakaoss Ihaka,编写了一种能执行,编写了一种能执行S S语言的软语言的软件,并将该软件的源代码全部公开,这就是件,并将该软件的源代码全部公开,这就是R R软件,软件,其命令统称为其命令统称为R R语言。
语言2 2pptppt课件课件课件课件. .R软件简介 R R是开源软件,代码全部公开,对所有人免费是开源软件,代码全部公开,对所有人免费 R R可在多种操作系统下运行,如可在多种操作系统下运行,如WindowsWindows、、LinuxLinux和和UNIXUNIX等 R R需要输入命令,可以编写函数和脚本进行批需要输入命令,可以编写函数和脚本进行批处理运算,语法简单灵活处理运算,语法简单灵活 目前在目前在R R网站上约有两千多个程序包,涵盖了网站上约有两千多个程序包,涵盖了基础统计学、社会学、经济学、生态学、地理学、基础统计学、社会学、经济学、生态学、地理学、医学统计学、生物信息学等诸多方面医学统计学、生物信息学等诸多方面3 3pptppt课件课件课件课件. .下载和安装RThe Comprehensive R Archive Network简称CRAN,提供下载安装程序和相应软件包R主页 http://www.r-project.org/ 4 4pptppt课件课件课件课件. .R R登陆界面登陆界面(Windows(Windows版版) )菜单栏菜单栏快捷按钮快捷按钮控制台控制台命令行命令行5 5pptppt课件课件课件课件. .R Gui R Gui 的菜单介绍的菜单介绍6 6pptppt课件课件课件课件. .R程序包为什么要安装程序包?为什么要安装程序包?为什么要安装程序包?为什么要安装程序包?特定的分析功能,需要用相应的程序包实现。
特定的分析功能,需要用相应的程序包实现例如:系统发育分析,往往要用到例如:系统发育分析,往往要用到apeape程序包,群落程序包,群落生态学生态学veganvegan包等等程序包是什么?程序包是什么?程序包是什么?程序包是什么? R R程序包是多个函数的集合,具有详细的说明和示例程序包是多个函数的集合,具有详细的说明和示例WindowWindow下的下的R R程序包是已经编译好的程序包是已经编译好的zipzip包每个程序包包含每个程序包包含R R函数、数据、帮助文件、描述文件函数、数据、帮助文件、描述文件等7 7pptppt课件课件课件课件. .常用R程序包base- R base- R 基础功能包基础功能包stats- Rstats- R统计学包统计学包nlme- nlme- 线性及非线性混合效应模型线性及非线性混合效应模型Graphics- Graphics- 绘图绘图lattice- lattice- 栅格图栅格图ape- ape- 系统发育与进化分析系统发育与进化分析apTreeshape- apTreeshape- 进化树分析进化树分析seqinr- DNAseqinr- DNA序列分析序列分析ade4- ade4- 利用欧几里得方法进行生态学数据分析利用欧几里得方法进行生态学数据分析8 8pptppt课件课件课件课件. .常用R程序包cluster- cluster- 聚类分析聚类分析ecodist- ecodist- 生态学数据相异性分析生态学数据相异性分析mefa- mefa- 生态学和生物地理学多元数据处理生态学和生物地理学多元数据处理mgcv- mgcv- 广义加性模型相关广义加性模型相关mvpart- mvpart- 多变量分解多变量分解nlme- nlme- 线性及非线性混合效应模型线性及非线性混合效应模型ouch- ouch- 系统发育比较系统发育比较BiodiversityR -BiodiversityR - 基于基于RcmdrRcmdr的生物多样性数据分析的生物多样性数据分析vegan- vegan- 植物与植物群落的排序,生物多样性计算植物与植物群落的排序,生物多样性计算 9 9pptppt课件课件课件课件. .程序包使用在菜单栏程序包选择加载程序包…或者在控制台中输入如下命令:library() ####()内为程序包名称内为程序包名称调用程序包内的函数与R R内置的函数调用方法一样1010pptppt课件课件课件课件. .查看帮助文件如何知道stats程序包内部都有哪些函数?最常用的方法:1 菜单 帮助>Html帮助2控制台中输入library(help="stats")1111pptppt课件课件课件课件. .查看帮助文件 1 help("t.test") 2 ?t.test 3 help.search("t.test") 4 apropos("t.test") 5 RGui>Help>R函数帮助(文本) …1212pptppt课件课件课件课件. .二二 数字、字符与向量数字、字符与向量1313pptppt课件课件课件课件. .1、赋值与注释在控制台中键入如下命令在控制台中键入如下命令2+22+2a<-2a<-2<-<-也可用也可用=, ->=, ->代替代替b<-2b<-2c<-a+bc<-a+bc c # #注释注释赋值符号演示结果演示结果演示结果演示结果1414pptppt课件课件课件课件. .少用少用(1)、向量赋值向量向量1515pptppt课件课件课件课件. .(2)、向量的运算数学运算 运算后给出数值结果+, -, *, /, ^ (常用运算符号)(常用运算符号)比较运算 运算后给出判别结果(TRUE FALSE)>, <, <=, >=, ==, !=逻辑运算 与、或、非!, &, &&, |, ||1616pptppt课件课件课件课件. .(2)、向量的运算1717pptppt课件课件课件课件. .(2)、向量的运算(演示结果)1818pptppt课件课件课件课件. .2、R软件中的函数每一个函数执行特定的功能,后面紧跟括号,例每一个函数执行特定的功能,后面紧跟括号,例如:如:求和求和 sumsum()()绘图绘图 plotplot()()排序排序 sortsort()() 除了基本的运算之外,除了基本的运算之外,R R的函数又分为的函数又分为高级高级和和低级低级函数,高级函数内部嵌套了复杂的低级函数,函数,高级函数内部嵌套了复杂的低级函数,例如例如plotplot()()是高级绘图函数,函数本身会根据数是高级绘图函数,函数本身会根据数据的类型,经过程序内部的函数判别之后,绘制据的类型,经过程序内部的函数判别之后,绘制相应类型的图形,并有大量的参数可选择。
相应类型的图形,并有大量的参数可选择1919pptppt课件课件课件课件. .计算计算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)(1)、常用函数2020pptppt课件课件课件课件. .ü例子(P49.例2.1) 某学校在体检时测得12名女中学生体重X1(千克)和胸围X2(厘米)资料如下表所示,计算体重与胸围的均值和标准差学生编学生编学生编学生编号号号号体重体重体重体重胸围胸围胸围胸围学生编学生编学生编学生编号号号号体重体重体重体重胸围胸围胸围胸围1 1353560607 7434378782 2404074748 8373766663 3404064649 9444470704 4424271711010424265655 5373772721111414173736 6454568681212393975752121pptppt课件课件课件课件. .ü例子(P49.例2.1)平均值平均值方差方差标准差标准差判断两者之间的关系,是两判断两者之间的关系,是两者相关,还是两者无关,根者相关,还是两者无关,根据数值的大小进行判断据数值的大小进行判断接近接近1 1,相关,接近,相关,接近0 0,无关,无关2222pptppt课件课件课件课件. .ü例子(P49.例2.1)画出两者之间关系cor()与plot()联合使用2323pptppt课件课件课件课件. .ü例子(P49.例2.1)频率直方图2424pptppt课件课件课件课件. .3、产生有规律的序列从2.316到6从4到7.62525pptppt课件课件课件课件. .3、产生有规律的序列seq(起点,终点,长度)(起点,终点,长度)rep(向量,重复次数)(向量,重复次数)2626pptppt课件课件课件课件. .4、缺失数据判断向量中是否有缺失数据判断向量中是否有缺失数据2727pptppt课件课件课件课件. .5、字符型向量2828pptppt课件课件课件课件. .6、向量下标运算(选取向量中某个数)选第二个数据修改向量x中第二个数据新的向量x修改向量中某个数值修改向量x中第一和第三个数值2929pptppt课件课件课件课件. .6、向量下标运算(选取向量中某个数)选第1,3,5,9个数值选第1至5个数值选倒数第1至5个数值3030pptppt课件课件课件课件. .三三 多维数组和矩阵多维数组和矩阵3131pptppt课件课件课件课件. .1、数组和矩阵dimdim()()和和和和 matrixmatrix()()x <- 1:12x <- 1:12dimdim(x) <- (x) <- c c(3,4);x(3,4);x [,1] [,2] [,3] [,4] [,1] [,2] [,3] [,4][1,] 1 4 7 10[1,] 1 4 7 10[2,] 2 5 8 11[2,] 2 5 8 11[3,] 3 6 9 12[3,] 3 6 9 12matrix.x <- matrix.x <- matrixmatrix(1:12,nrow=3,byrow=T)(1:12,nrow=3,byrow=T)行或列添加名称:行或列添加名称:row.namesrow.names();();col.namescol.names()()行数目3232pptppt课件课件课件课件. .2、数组的运算+, -, *, /, ^运算后给出数值结果3333pptppt课件课件课件课件. .2、数组的运算求矩阵的维数3434pptppt课件课件课件课件. .3、矩阵的运算3535pptppt课件课件课件课件. .3、矩阵的运算例题3636pptppt课件课件课件课件. .四四 列表与数据框列表与数据框3737pptppt课件课件课件课件. .1、列表与数据框物种数物种数科数科数属数属数海拔海拔坡度坡度类型类型样方样方1 14040151522226006002525山顶山顶样方样方2 25151121226263503503030山坡山坡样方样方3 34646111120203903904545山坡山坡样方样方4 43838121224242602602020低地低地样方样方5 54949101025252202203333低地低地行名Row names字符串列名 Column names每列可看做带名称的向量表1 数据表、数据框与向量字符串、因素每行作为一个观测3838pptppt课件课件课件课件. .2、列表(list)的创建 列表可以是不同类型甚至不同长度的向量(数值型,逻辑型,字符型等等)、数据框甚至是列表的组合。
list() 例如 list(character,numeric,logical,matrix)3939pptppt课件课件课件课件. .3、数据框(data.frame)的创建data.framedata.frame()() # #生成数据框生成数据框d <- d <- data.framedata.frame(character,numeric,logical(character,numeric,logical) )cbindcbind()() # # 按列组合成数据框按列组合成数据框c.data<-c.data<-cbindcbind(character,numeric,logical)(character,numeric,logical)rbindrbind() # () # 按行组合成数据框按行组合成数据框4040pptppt课件课件课件课件. .4、列表的创建> list(1,matrix(2:9,nrow=2),"估计估计","FALSE")->x;x[[1]][1] 1[[2]] [,1] [,2] [,3] [,4][1,] 2 4 6 8[2,] 3 5 7 9[[3]][1] "估计估计"[[4]][1] "FALSE"第一列内容第二列内容第三列内容第四列内容4141pptppt课件课件课件课件. .5、引用数据框中的元素d <- d <- data.framedata.frame(a1, a2)(a1, a2)$ $ 引用引用d d$ $a1a1[,][,] 方括号引用方括号引用d[,1]; d[5,]d[,1]; d[5,]a1 <- c(5260, 5470, 5640, 6180, 6390)a2 <- c(3910, 4220, 3885, 5160, 5645)构成数据框选数据框中a1数据选数据框第1列数据选数据框第5行数据4242pptppt课件课件课件课件. .6、外部数据读取 最为常用的数据读取方式是用最为常用的数据读取方式是用read.tableread.table()() 函数或函数或read.csvread.csv()()函数读取函数读取外部外部txttxt或或csvcsv格式的文件。
格式的文件 txttxt文件,制表符间隔文件,制表符间隔((ExcelExcel可以保存此类可以保存此类文件)文件) csvcsv文件,逗号间隔(文件,逗号间隔(ExcelExcel可以保存此类文可以保存此类文件)件) 一些一些R R程序包(如程序包(如foreignforeign)也提供了直接)也提供了直接读取读取Excel, SAS, dbf, Matlab, spss, Excel, SAS, dbf, Matlab, spss, systat, Minitabsystat, Minitab文件的函数文件的函数4343pptppt课件课件课件课件. .read.table()的使用例::test.data<-test.data<-read.tableread.table("D:/R/test2.txt",header=("D:/R/test2.txt",header=T)T)header=T表示将数据的第一行作为标题read.tableread.table(file=file.choose(),header(file=file.choose(),header=T)=T) 可以弹出对话框,选择文件。
4444pptppt课件课件课件课件. .ü例题:编号编号1 12 23 34 45 56 6身高身高 mm 1.751.751.801.801.651.651.901.901.741.741.911.91体重体重kgkg606072725757909095957272六名患者的身高和体重 现有6名患者的身高和体重,检验体重除以身高的平方是否等于22.54545pptppt课件课件课件课件. .第一种方式:从控制台输入数据(数据较少)数据量较少时数据量较少时可以从控制台直接输入:可以从控制台直接输入:height<-height<-c c(1.75, 1.80, 1.65, 1.90, (1.75, 1.80, 1.65, 1.90, 1.74, 1.91)1.74, 1.91)weight<-weight<-c c(60, 72, 57, 90, 95, 72)(60, 72, 57, 90, 95, 72)sq.height<-height^2sq.height<-height^2ratio<-weight/sq.heightratio<-weight/sq.heightt.testt.test(ratio, mu=22.5) (ratio, mu=22.5) 4646pptppt课件课件课件课件. .第一种方式:从控制台输入数据(数据较少)4747pptppt课件课件课件课件. .第二种方式 从外部读取数据(数据量较大)数据量较大时用read.table函数从外部txt文件读取第1步 改变R软件工作目录(文件改变工作目录)第2步 将Excel中的数据另存为.txt格式(制表符间隔)或.csv格式。
第3步 用read.table()或read.csv()函数将数据读入R工作空间,并赋值给一个对象4848pptppt课件课件课件课件. . 在在ExcelExcel中将数据存为中将数据存为txttxt文件文件4949pptppt课件课件课件课件. .一般从一般从txttxt文档读取数据每一行作为一个观测值文档读取数据每一行作为一个观测值每一行的变量用制表符,空格或逗号间隔开每一行的变量用制表符,空格或逗号间隔开read.tableread.table(”(”位置位置位置位置”)”)read.csvread.csv(”(”位置位置位置位置”)”)# #从外部读取数据从外部读取数据data1<-data1<-read.tableread.table("d:/t.test.data.("d:/t.test.data.txttxt",header=",header=T T) )bmi<- data1bmi<- data1$ $weight/data1weight/data1$ $height^2height^2t.testt.test(bmi, mu=22.5)(bmi, mu=22.5) #t #t检验检验读txt文件读csv文件ü例题(此时数据为数据框)5050pptppt课件课件课件课件. .总 结•R R是开源的统计绘图软件,也是一种自解释的是开源的统计绘图软件,也是一种自解释的是开源的统计绘图软件,也是一种自解释的是开源的统计绘图软件,也是一种自解释的语言,有大量的程序包可以利用。
语言,有大量的程序包可以利用语言,有大量的程序包可以利用语言,有大量的程序包可以利用•R R中的向量、列表、数组、统计结果等都是对中的向量、列表、数组、统计结果等都是对中的向量、列表、数组、统计结果等都是对中的向量、列表、数组、统计结果等都是对象,可以方便的生成所需对象,并进行筛选象,可以方便的生成所需对象,并进行筛选象,可以方便的生成所需对象,并进行筛选象,可以方便的生成所需对象,并进行筛选•R R脚本是输入的多个命令行脚本是输入的多个命令行脚本是输入的多个命令行脚本是输入的多个命令行•R R具有精确控制的绘图功能,生成的图可以另具有精确控制的绘图功能,生成的图可以另具有精确控制的绘图功能,生成的图可以另具有精确控制的绘图功能,生成的图可以另存为多种格式存为多种格式存为多种格式存为多种格式•R R编写函数无需声明变量的类型,能利用循环、编写函数无需声明变量的类型,能利用循环、编写函数无需声明变量的类型,能利用循环、编写函数无需声明变量的类型,能利用循环、条件语句,控制程序的流程条件语句,控制程序的流程条件语句,控制程序的流程条件语句,控制程序的流程5151pptppt课件课件课件课件. .此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!。





