R-数据处理、绘图、编程与统计检验解析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《R-数据处理、绘图、编程与统计检验解析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- R_ 数据处理 绘图 编程 统计 检验 解析 课件
- 资源描述:
-
1、1语言介绍 数据处理、绘图、编程与统计检验2什么是R?The R Project for Statistical ComputingR是一种统计绘图语言,也指实现该语言的软件 1995年由新西兰Auckland大学统计系的Robert Gentleman和Ross Ihaka,基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言 从S统计绘图语言演变而来,可看作S的“方言”!免费、软件本身及程序包的源代码公开。3 R登陆界面(Windows版)路径:开始所有程序R 2.11.0菜单栏菜单栏快捷按钮快捷按钮控制台控制台光标光标:等待输入等待
2、输入4R程序包(R Packages)程序包是什么?程序包是什么?R程序包是多个函数的集合,具有详细的说明和示例。Window下的R程序包是经过编译的zip包。每个程序包包含R函数、数据、帮助文件、描述文件等。为什么要安装程序包?为什么要安装程序包?R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。例如:系统发育分析,常用到ape程序包,群落生态学vegan包等。5常用R程序包(I)ade4利用欧几里得方法进行生态学数据分析adephylo系统进化数据挖掘与比较方法ape系统发育与进化分析apTreeshape 进化树分析bootBootstrap检验cluster聚类分析ecod
3、ist生态学数据相异性分析FD功能多样性分析geiger物种形成速率与进化分析6常用R程序包(II)picante群落系统发育多样性分析raster栅格数据分析与处理seqinrDNA序列分析sp空间数据处理spatstat空间点格局分析,模型拟合与检验splancs空间与时空点格局分析statsR统计学包Bioconductor生物学数据分析工具vegan植物与植物群落的排序,生物多样性计算7安装程序包的方法1 用函数 install.packages(),如果已经连接到互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动下载并安装程序包。例如:要安装picante包,在控制台中输
4、入 install.packages(picante)2 安装本地zip包路径:Packagesinstall packages from local files选择本地磁盘上存储zip包的文件夹。8程序包使用程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。在控制台中输入如下命令:library(affy)程序包内的函数的用法与R内置的基本函数用法一样。library(affy)9查看函数的帮助文件函数的默认值是什么?函数的默认值是什么?怎么使用?怎么使用?使用时需要注意什么问题?使用时需要注意什么问题?需要查询函数的帮助。需要查询函数的帮助。1?t.test 2 RGuiHelp
5、Html help3 apropos(t.test)4 help(t.test)5 help.search(t.test)6 查看查看R包包pdf手册手册10二 函数与对象11R的函数R是一种解释性语言,输入后可直接给出结果。功能靠函数实现。函数形式:函数(输入数据,参数=)如果没有指定,则参数的以默认值为准。例如:平均值 mean(x,trim=0,na.rm=FALSE,.)线性模型 lm(yx,data=test)12R的函数每一个函数执行特定的功能,后面紧跟括号,例如:平均值 mean()求和 sum()绘图 plot()排序 sort()除了基本的运算之外,R的函数又分为”高级”和”
6、低级”函数,高级函数可调用低级函数,这里的”高级”函数习惯上称为泛型函数。如plot()就是泛型函数,可以根据数据的类型,调用底层的函数,应用相应的方法绘制相应的图形。这就是面向对象编程的思想。13R有哪些函数?查询的方法:查询的方法:HelpHtml helppackageslog()log10()exp()sin()cos()tan()asin()acos()binom.test()fisher.test()chisq.test()glm(y x1+x2+x3,binomial)friedman.test()mean()sd()var().14R函数调用及其选项箱线图绘制函数的调用boxp
7、lot(daytype,data=bac,col=red,xlab=Virus,ylab=days)daytype,以type为横轴,day为纵轴绘制箱线图。data=bac 数据来源baccol=“red”箱线图为红色xlab=“Virus”横轴名称为Virusylab=“days”纵轴名称为days15赋值与注释在控制台中键入如下命令2+2a-2代替b-2c 1+11 2 1+1*71 8(1+1)*71 14 x x1 1 y=2 y1 2 3-z z1 3(x+y)*z1 9Math:Variables:17 x x1 0 1 2 3 4 y y1 1 2 3 4 5 z z 1 1
8、2 3 4 5 6 7 8 9 10 11 12 13 14 1516 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3031 31 32 33 34 35 36 37 38 39 40 41 42 43 44 4546 46 47 48 49 50Arrays:18运算符数学运算 运算后给出数值结果+,-,*,/,(幂幂)比较运算 运算后给出判别结果(TRUE FALSE),=,=,!=逻辑运算 与、或、非!,&,&,|,|19外部数据读取 最为常用的数据读取方式是用read.table()函数或read.csv()函数读取外部txt或csv格式的文件。
9、txt文件,制表符间隔 csv文件,逗号间隔 一些R程序包(如foreign)也提供了直接读取Excel,SAS,dbf,Matlab,spss,systat,Minitab文件的函数。例:test.data-read.csv(D:/R/test2.csv,header=T)header=T表示将数据的第一行作为标题。read.table(file=file.choose(),header=T)可以弹出对话框,选择文件。20例:从数据输入到t检验编号123456身高 m1.751.801.651.901.741.91体重kg607257909572表2 六名患者的身高和体重现有6名患者的身高和
10、体重,检验体重除以身高的平方是否等于22.5。21第一种方式:从控制台输入数据数据量较少时可以从控制台直接输入:height-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-weight/sq.height t.test(ratio,mu=22.5)22图14 在Excel中将数据存为txt文件23例:t检验(续)一般从txt文档读取数据。每一行作为一个观测值。每一行的变量用制表符,空格或逗号间隔开。read.table(”位置位置”,header=T)read.csv(”位置
11、位置”,header=T)#从外部读取数据data1-read.table(d:/t.test.data.txt,header=T)bmi-data1$weight/data1$height2t.test(bmi,mu=22.5)#t检验24向量的创建四种类型的向量字符型character-c(China,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)复数型 略25向量的创建生成向量的函数 c(),rep(),seq(),”:”c(2,5,6,9)
12、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)26向量创建产生随机数rfunc(n,p1,p2,.),其中func指概率分布函数,n为生成数据的个数,p1,p2,.是分布的参数数值。上面的表给出了每个分布的详情和可能的缺省值(如果没有给出缺省值,则意味着用户必须指定参数)。用01之间的均匀分布产生10个随机点:runif(10)or runif(10,min=0,max=1
13、)rnorm(10,mean=0,sd=1)大多数这种统计函数都有相似的形式,只需用d、p或者q去替代r,比如概率密度(dfunc(x,.)dunif(x,min=0,max=1,log=FALSE)累积函数 punif(q,min=0,max=1,)分位数 qunif(p,min=0,max=1,)显著性水平为5%的正态分布的双侧临界值是:qnorm(0.025)-1.959964 qnorm(0.975)=1.9599642728矩阵的创建生成矩阵的函数 dim()和和matrix()dim()定义矩阵的行列数,例如:定义矩阵的行列数,例如:x-1:12 dim(x)-c(3,4),1,2
14、,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()29数据框的创建创建数据框的函数:data.frame(),as.data.frame(),cbind(),rbind()cbind()#按列组合成数据框rbind()#按行组合成数据框data.frame()#生成数据框head()#默认访问数据的前6行30工作空间imageR的所有对象都在计算机内存的工作空间中。ls()列出工作空间中的对象rm()删除工作空间中的对象r
15、m(list=ls()删除空间中所有对象save.image()保存工作镜像sink()将运行结果保存到指定文件中getwd()显示当前工作文件夹setwd()设定工作文件夹可将结果保存在image中,形式为.Rdata文件,里面保存了R当前工作空间中的各种对象,包括函数。31三 脚本编程Scripting32例-线性回归转速rpm 202224262830323436384042杂质率%8.49.511.810.413.314.813.214.716.416.518.918.5n对一批涂料进行研究,确定搅拌速度对杂质含量的影响,数据如下,试进行回归分析表3 搅拌速度对涂料中杂质的影响33脚本
16、举例#将以下代码粘贴到编辑器中,另存为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)regFileOpen Script#Ctrl+R运行3 直接粘贴到R控制台ctrl+c,ctrl+v第三种最为简单直接35四 R绘图36图19 R绘制的图形37高级绘图函数plot()绘制散点图等多种图形,根据数据的类,调用相应的函数绘图hist()频率直方图boxpl
17、ot()箱线图stripchart()点图barplot()柱状图dotplot()点图piechart()饼图matplot()数学图形38图23 散点图与箱线图39低级绘图函数lines()添加线curve()添加曲线abline()添加给定斜率的线points()添加点segments()折线arrows()箭头axis()坐标轴box()外框title()标题text()文字mtext()图边文字40绘图参数参数用在函数内部,在没有设定值时使用默认值。font=字体lty=线类型lwd=线宽度pch=点的类型,xlab=横坐标ylab=纵坐标xlim=横坐标范围ylim=纵坐标范围也可
18、以对整个要绘制图形的各种参数进行设定参见 par()41举例:绘图生成0到2之间的50个随机数,分别命名为x,yx-runif(50,0,2)y-runif(50,0,2)绘图:将主标题命名为“散点图”,横轴命名为”横坐标”,纵轴命名为“纵坐标”plot(x,y,main=散点图散点图,xlab=横坐标横坐标,ylab=纵坐标纵坐标)text(0.6,0.6,text at(0.6,0.6)abline(h=.6,v=.6)42图24 绘图举例43例:分步绘图1.打开绘图窗口,不绘制任何对象plot(x,y,type=n,xlab=,ylab=,axes=F)2.添加坐标点points(x,y
19、)3.添加坐标轴axis(1);axis(at=seq(0.2,1.8,0.2),side=2)4.补齐散点图的边框box()5.添加标题、副标题、横轴说明、纵轴说明title(main=Main title,sub=subtitle,xlab=x-label,ylab=y-label)44图25 分步绘图12345645一页多图图26 一页多图par()par(mfrow=c(2,2).46在原有图形上添加元素举例:举例:x-rnorm(100)#生成随机数hist(x,freq=F)#绘制直方图curve(dnorm(x),add=T)#添加曲线h-hist(x,plot=F)#绘制直方图
20、ylim-range(0,h$density,dnorm(0)#设定纵轴的取值范围hist(x,freq=F,ylim=ylim)#绘制直方图curve(dnorm(x),add=T,col=red)#添加曲线47图27 在原有直方图上添加曲线48五 编写函数49编程基础 R可以灵活的编写程序,用户自己编写的程序可以直接调用。编程时无需声明变量的类型,这与C,C+等语言不同。基本格式 函数名函数名-function(数据数据,参数参数1=默认值默认值,)异常处理;表达式(循环/判别);return(返回值);函数内部也可用#添加注释50函数实例图28 函数实例 data2mat()51程序流程
21、控制 ifif(条件)表达式 if(条件)表达式1 else 表达式2 举例p=0.03if(p=0.05)print(p 0.05!)52循环循环 for,whilefor(变量 in 向量)表达式用法:for(i in 1:10)print(i)while(条件)表达式 用法:i-1while(i10)print(i)i-i+153返回值返回值表示函数输出的结果。返回值必须是一个对象。R默认将最后一行作为返回值。如果函数的结果需要有多个返回值,可以创建一个list(),并返回该对象。也可以用return()函数,设定返回值。但是一个函数的返回的对象只有一个。54异常处理如数据输入不能满足要
22、求,或者参数设定错误等等,可能造成函数给出错误的结果,则需要对函数的运行过程发出警告或终止,以提高程序的稳健性。警告的写法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)55函数举例问题:输入直角三角形的两个边长,求其斜边长。定义函数:rcal-function(x,y)z-x2+y2 result-sqrt(z)return(
23、result)调用函数:rcal(3,4)56write.table()write.csv()save.image()sink()unlink()若有LaTeX基础,可以用Sweave()函数该函数能将脚本、程序说明和运算结果直接保存成.tex文件,用LaTeX编译成pdf文件。六数据保存常用概率分布常用概率分布重点回顾生物科学研究中常用的几种随机变量的概率分布重点回顾生物科学研究中常用的几种随机变量的概率分布正态分布、正态分布、二项分布、二项分布、波松分布波松分布 如果表示试验结果的变量如果表示试验结果的变量x,其可能取值至多为可列个,其可能取值至多为可列个,且且 以各种确定的概率取这些不同
展开阅读全文