R_数据处理、绘图、编程与统计检验解析课件.ppt
《R_数据处理、绘图、编程与统计检验解析课件.ppt》由会员分享,可在线阅读,更多相关《R_数据处理、绘图、编程与统计检验解析课件.ppt(88页珍藏版)》请在三一办公上搜索。
1、1,语言介绍,数据处理、绘图、编程与统计检验,1语言介绍 数据处理、绘图、编程与统计检验,2,什么是R ?,The R Project for Statistical ComputingR是一种统计绘图语言,也指实现该语言的软件,1995年由新西兰Auckland大学统计系的Robert Gentleman和Ross Ihaka,基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言从S统计绘图语言演变而来,可看作S的“方言”,!免费、软件本身及程序包的源代码公开。,2什么是R ?The R Project for Stati,3,R登陆界
2、面(Windows版)路径: 开始所有程序R 2.11.0,菜单栏,快捷按钮,控制台,光标:等待输入,3 R登陆界面(Windows版)菜单栏快捷按钮控制台光标:,4,R程序包(R Packages),程序包是什么? R程序包是多个函数的集合,具有详细的说明和示例。 Window下的R程序包是经过编译的zip包。每个程序包包含R函数、数据、帮助文件、描述文件等。为什么要安装程序包? R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。 例如:系统发育分析,常用到ape程序包,群落生态学vegan包等。,4R程序包(R Packages)程序包是什么?,5,常用R程序包(I),5常用R
3、程序包(I)ade4利用欧几里得方法进行生态学数据分,6,常用R程序包(II),6常用R程序包(II)picante群落系统发育多样性分析r,7,安装程序包的方法,1 用函数 install.packages(),如果已经连接到互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动下载并安装程序包。例如: 要安装picante包,在控制台中输入 install.packages(picante)2 安装本地zip包路径:Packagesinstall packages from local files选择本地磁盘上存储zip包的文件夹。,7安装程序包的方法1 用函数 install.p
4、ackage,8,程序包使用,程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。在控制台中输入如下命令:library(affy)程序包内的函数的用法与R内置的基本函数用法一样。library(affy),8程序包使用程序包的中函数,都要先导入,再使用,因此导入程序,9,查看函数的帮助文件,函数的默认值是什么? 怎么使用? 使用时需要注意什么问题? 需要查询函数的帮助。1 ?t.test 2 RGuiHelpHtml help3 apropos(t.test)4 help(t.test)5 help.search(t.test)6 查看R包pdf手册,9查看函数的帮助文件函数的默认值
5、是什么? 怎么使用? 使用时,10,二 函数与对象,10二 函数与对象,11,R的函数,R是一种解释性语言,输入后可直接给出结果。功能靠函数实现。函数形式: 函数(输入数据,参数= )如果没有指定,则参数的以默认值为准。例如:平均值 mean(x, trim = 0, na.rm = FALSE, .) 线性模型 lm(yx, data=test),11R的函数R是一种解释性语言,输入后可直接给出结果。,12,R的函数,每一个函数执行特定的功能,后面紧跟括号,例如:平均值 mean()求和 sum()绘图 plot()排序 sort() 除了基本的运算之外,R的函数又分为”高级”和”低级”函数
6、,高级函数可调用低级函数,这里的”高级”函数习惯上称为泛型函数。 如plot()就是泛型函数,可以根据数据的类型,调用底层的函数,应用相应的方法绘制相应的图形。这就是面向对象编程的思想。,12R的函数每一个函数执行特定的功能,后面紧跟括号,例如:,13,R有哪些函数?,查询的方法: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()v
7、ar().,13R有哪些函数?查询的方法:HelpHtml help,14,R函数调用及其选项,箱线图绘制函数的调用boxplot(daytype, data=bac, col=red, xlab=Virus, ylab=days)daytype,以type为横轴,day为纵轴绘制箱线图。data=bac 数据来源baccol=“red” 箱线图为红色xlab=“Virus” 横轴名称为Virusylab=“days” 纵轴名称为days,14R函数调用及其选项箱线图绘制函数的调用,15,赋值与注释,在控制台中键入如下命令2 + 2a 代替b - 2c - a+bc#注释,赋值符号,15赋值与
8、注释在控制台中键入如下命令赋值符号,16, 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 9,Math:,Variables:,16 1 + 1 x - 1Math:Variable,17, x x1 0 1 2 3 4 y y1 1 2 3 4 5 z z 1 1 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 3
9、9 40 41 42 43 44 4546 46 47 48 49 50,Arrays:,17 x - c(0,1,2,3,4)Arrays:,18,运算符,数学运算 运算后给出数值结果+, -, *, /, (幂)比较运算 运算后给出判别结果(TRUE FALSE), =, =, !=逻辑运算 与、或、非!, &, &, |, |,18运算符数学运算 运算后给出数值结果,19,外部数据读取,最为常用的数据读取方式是用read.table() 函数或read.csv()函数读取外部txt或csv格式的文件。 txt文件,制表符间隔 csv文件,逗号间隔 一些R程序包(如foreign)也提供了
10、直接读取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) 可以弹出对话框,选择文件。,19外部数据读取 最为常用的数据读取方式是用read.t,20,例:从数据输入到t检验,表2 六名患者的身高和体重,现有6名患者的身高和体重,检验体重除以身高的平方是否等于22.5。,20例:从数据输入到t检验编号123456身高 m1.751
11、,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),21第一种方式:从控制台输入数据数据量较少时可以从控制台直接,22,图14 在Excel中将数据存为txt文件,22图14 在Excel中将数据存为txt文件,23,例:t检验(续),一般从txt文档读取数据。每一行作为一个观测值。每一行的变
12、量用制表符,空格或逗号间隔开。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检验,23例:t检验(续)一般从txt文档读取数据。每一行作为一个,24,向量的创建,四种类型的向量字符型character-c(China, Korea, Japan, UK, USA, France, India, Russia) 数值型numeric-
13、c(1, 3, 6, 7, 3, 8, 6, 4)逻辑型logical-c(T, F, T, F, T, F, F, T)复数型 略,24向量的创建四种类型的向量,25,向量的创建,生成向量的函数 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),25向量的创建生成向量的函数 c(),rep(),seq(
14、),26,向量创建产生随机数,rfunc(n,p1,p2,.),其中func指概率分布函数,n为生成数据的个数,p1, p2, . . .是分布的参数数值。上面的表给出了每个分布的详情和可能的缺省值(如果没有给出缺省值,则意味着用户必须指定参数)。用01之间的均匀分布产生10个随机点:runif(10) or runif(10, min = 0, max= 1) rnorm(10, mean = 0, sd = 1)大多数这种统计函数都有相似的形式,只需用d、p或者q去替代r,比如概率密度 (dfunc(x, .)dunif(x, min=0, max=1, log = FALSE) 累积函数
15、 punif(q, min=0, max=1, )分位数 qunif(p, min=0, max=1, )显著性水平为5%的正态分布的双侧临界值是: qnorm(0.025) -1.959964 qnorm(0.975)= 1.959964,26向量创建产生随机数rfunc(n,p1,p2,.,27,27,28,矩阵的创建,生成矩阵的函数 dim()和matrix()dim() 定义矩阵的行列数,例如: x - 1:12 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,
16、nrow=3,byrow=T)t(x)#转置为行或列添加名称:row.names()col.names(),28矩阵的创建生成矩阵的函数 dim()和matrix(),29,数据框的创建,创建数据框的函数:data.frame(), as.data.frame(), cbind(), rbind()cbind() # 按列组合成数据框rbind() # 按行组合成数据框data.frame() #生成数据框head() #默认访问数据的前6行,29数据框的创建创建数据框的函数:data.frame(),30,工作空间image,R的所有对象都在计算机内存的工作空间中。ls() 列出工作空间中的
17、对象rm() 删除工作空间中的对象rm(list=ls() 删除空间中所有对象save.image() 保存工作镜像sink() 将运行结果保存到指定文件中getwd() 显示当前工作文件夹setwd() 设定工作文件夹可将结果保存在image中,形式为.Rdata文件,里面保存了R当前工作空间中的各种对象,包括函数。,30工作空间imageR的所有对象都在计算机内存的工作空间中,31,三 脚本编程Scripting,31三 脚本编程Scripting,32,例-线性回归,对一批涂料进行研究,确定搅拌速度对杂质含量的影响,数据如下,试进行回归分析,表3 搅拌速度对涂料中杂质的影响,32例-线性
18、回归转速rpm 20222,33,脚本举例,#将以下代码粘贴到编辑器中,另存为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)reg-lm(impurityrate)abline(reg,col=red)summary(reg),33脚本举例#将以下代码粘贴到编辑器中,另存为regress,34,运行脚本,三种
19、运行方式1 通过source()函数运行source(d:/regression.r)2 通过R脚本编辑器运行路径:RGuiFileOpen Script #Ctrl+R运行3 直接粘贴到R控制台ctrl+c, ctrl+v第三种最为简单直接,34运行脚本三种运行方式,35,四 R绘图,35四 R绘图,36,图19 R绘制的图形,36图19 R绘制的图形,37,高级绘图函数,37高级绘图函数plot() 绘制散点图等多种图,38,图23 散点图与箱线图,38图23 散点图与箱线图,39,低级绘图函数,39低级绘图函数lines()添加线curve()添加曲线a,40,绘图参数,参数用在函数内部
20、,在没有设定值时使用默认值。font = 字体lty = 线类型lwd = 线宽度pch = 点的类型,xlab = 横坐标ylab = 纵坐标xlim = 横坐标范围ylim = 纵坐标范围也可以对整个要绘制图形的各种参数进行设定参见 par(),40绘图参数参数用在函数内部,在没有设定值时使用默认值。,41,举例:绘图,生成0到2之间的50个随机数,分别命名为x,yx - runif(50,0,2)y - runif(50,0,2)绘图:将主标题命名为“散点图”, 横轴命名为”横坐标”, 纵轴命名为“纵坐标”plot(x, y, main=散点图, xlab=横坐标, ylab=纵坐标)t
21、ext(0.6,0.6,text at (0.6,0.6)abline(h=.6,v=.6),41举例:绘图生成0到2之间的50个随机数,分别命名为x,y,42,图24 绘图举例,42图24 绘图举例,43,例:分步绘图,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=su
22、btitle, xlab=x-label, ylab=y-label),43例:分步绘图1.打开绘图窗口,不绘制任何对象,44,图25 分步绘图,44图25 分步绘图123456,45,一页多图,图26 一页多图par()par(mfrow=c(2,2).,45一页多图图26 一页多图,46,在原有图形上添加元素,举例:x - rnorm(100) # 生成随机数hist(x,freq=F) # 绘制直方图curve(dnorm(x),add=T) # 添加曲线h - hist(x, plot=F) # 绘制直方图ylim - range(0, h$density, dnorm(0) #设定纵
23、轴的取值范围hist(x, freq=F, ylim=ylim) #绘制直方图curve(dnorm(x),add=T,col=red) #添加曲线,46在原有图形上添加元素举例:,47,图27 在原有直方图上添加曲线,47图27 在原有直方图上添加曲线,48,五 编写函数,48五 编写函数,49,编程基础,R可以灵活的编写程序,用户自己编写的程序可以直接调用。编程时无需声明变量的类型,这与C,C+等语言不同。基本格式 函数名 - function(数据,参数1= 默认值,) 异常处理; 表达式(循环/判别); return(返回值); 函数内部也可用#添加注释,49编程基础 R可以灵活的编写
24、程序,用户自己编写的程序可,50,函数实例,图28 函数实例 data2mat(),50函数实例图28 函数实例 data2mat(),51,程序流程控制 if,if(条件) 表达式 if(条件) 表达式1 else 表达式2 举例p = 0.03if(p 0.05!),51程序流程控制 ifif(条件) 表达式,52,循环 for, while,for(变量 in 向量) 表达式用法: for(i in 1:10) print(i)while(条件) 表达式 用法:i - 1while(i10) print(i) i - i + 1,52循环 for, whilefor(变量 in 向量)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- R_ 数据处理 绘图 编程 统计 检验 解析 课件
链接地址:https://www.31ppt.com/p-1287923.html