收藏 分享(赏)

如何使用R软件[1].ppt

上传人:ysd1539 文档编号:7328073 上传时间:2019-05-15 格式:PPT 页数:88 大小:1.78MB
下载 相关 举报
如何使用R软件[1].ppt_第1页
第1页 / 共88页
如何使用R软件[1].ppt_第2页
第2页 / 共88页
如何使用R软件[1].ppt_第3页
第3页 / 共88页
如何使用R软件[1].ppt_第4页
第4页 / 共88页
如何使用R软件[1].ppt_第5页
第5页 / 共88页
点击查看更多>>
资源描述

1、语言入门,一 R 软件简介 二 数字、字符与向量 三 对象和它的模式与属性 四 因子,五 多维数组和矩阵 六 列表与数据框 七 编写函数 八 R 绘图,一 R 软 件 简 介,R语言的由来,R语言是从S语言演变而来的。 S语言是二十世纪70年代诞生于贝尔实验室,由Rick Becker, John Chambers, Allan Wilks开发。 基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,取得了巨大成功。 1995年由新西兰Auckland大学统计系的Robert Gentleman和Ross Ihaka,编写了一种能执行S语言的软件,并将该软件的源代

2、码全部公开,这就是R软件,其命令统称为R语言。,R软件简介,R是开源软件,代码全部公开,对所有人免费。R可在多种操作系统下运行,如Windows、Linux和UNIX等。R需要输入命令,可以编写函数和脚本进行批处理运算,语法简单灵活。目前在R网站上约有两千多个程序包,涵盖了基础统计学、社会学、经济学、生态学、地理学、医学统计学、生物信息学等诸多方面。,下载和安装R,The Comprehensive R Archive Network 简称CRAN,提供下载安装程序和相应软件包。 R主页 http:/www.r-project.org/,R软件首页 http:/www.r-project.or

3、g/,R登陆界面(Windows版),菜单栏,快捷按钮,控制台,命令行,R Gui 的菜单介绍,R程序包,为什么要安装程序包? 特定的分析功能,需要用相应的程序包实现。 例如:系统发育分析,往往要用到ape程序包,群落生态学vegan包等等。 程序包是什么?R程序包是多个函数的集合,具有详细的说明和示例。 Window下的R程序包是已经编译好的zip包。 每个程序包包含R函数、数据、帮助文件、描述文件等。,常用R程序包,base- R 基础功能包 stats- R统计学包 nlme- 线性及非线性混合效应模型 Graphics- 绘图 lattice- 栅格图 ape- 系统发育与进化分析 a

4、pTreeshape- 进化树分析 seqinr- DNA序列分析 ade4- 利用欧几里得方法进行生态学数据分析,常用R程序包,cluster- 聚类分析 ecodist- 生态学数据相异性分析 mefa- 生态学和生物地理学多元数据处理 mgcv- 广义加性模型相关 mvpart- 多变量分解 nlme- 线性及非线性混合效应模型 ouch- 系统发育比较 BiodiversityR - 基于Rcmdr的生物多样性数据分析 vegan- 植物与植物群落的排序,生物多样性计算,常用R程序包,maptools- 空间对象的读取和处理 sp- 空间数据处理 spatstat- 空间点格局分析,模

5、型拟合与检验 splancs- 空间与时空点格局分析 picante- 群落系统发育多样性分析,程序包使用,在菜单栏程序包选择加载程序包 或者在控制台中输入如下命令: library() #()内为程序包名称调用程序包内的函数与R内置的函数调用方法一样,查看帮助文件,如何知道stats程序包内部都有哪些函数? 最常用的方法: 1 菜单 帮助Html帮助 2控制台中输入library(help=“stats“),查看帮助文件,1 help(“t.test“)2 ?t.test3 help.search(“t.test“)4 apropos(“t.test“)5 RGuiHelpR函数帮助(文本)

6、 ,二 数字、字符与向量,赋值与注释,在控制台中键入如下命令 2+2 a代替 b-2 c-a+b c #注释,赋值符号,向量的运算,数学运算 运算后给出数值结果 +, -, *, /, 比较运算 运算后给出判别结果(TRUE FALSE) , =, =, != 逻辑运算 与、或、非 !, &, &, |, |,向量的运算,R的函数,每一个函数执行特定的功能,后面紧跟括号,例如: 求和 sum() 绘图 plot() 排序 sort()除了基本的运算之外,R的函数又分为高级和低级函数,高级函数内部嵌套了复杂的低级函数,例如plot()是高级绘图函数,函数本身会根据数据的类型,经过程序内部的函数判

7、别之后,绘制相应类型的图形,并有大量的参数可选择。,部分函数,计算 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),部分函数,统计检验 lm(y f+x) lm(y x1+x2+x3) binom.test fisher.test chisq.test glm(y x1+x2+x3, binomial) .,

8、缺失数据,三 对象和它的模式与属性,对象的类型,数值型 Numeric 如 100, 0, -4.335 字符型 Character 如 “China” 逻辑型 Logical 如TRUE, FALSE 因子型 Factor 表示不同类别 复数型 Complex 如:2 + 3i,四种类型的向量,字符型 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,

9、 F, F, T) 复数型 略,对象的类型的判断,对象类型判断 mode() class() is.numeric() #返回值为TRUE或FALSE is.logical() is.charactor() is.data.frame(),对象的类型的判断,对象类型转换 as.numeric() #转换为数值型 as.logical() as.charactor() as.matrix() as.dataframe(),为对象起名,R是区分大小写的,A与a是不同的。对象名不能用数字开头,但是数字可以放在中间或结尾。推荐用”.”作为间隔,例如 anova.result1。举例:一个向量a,包含了

10、四个元素,a-c(10,15,21,18)该向量为数值型,长度为4。保留名称(命名对象时不要与保留名称冲突): NA, NaN, pi, LETTERS, letters, month.abb, month.name,对象的类别,向量(vector) 一系列元素的组合。 因子(factor) 因子是一个分类变量,如“a”,”a”,”a”,”a”,”b”,”b”,”b”,”c”,”c” 数组(array) 数组是k维的数据表。 矩阵(matrix) 矩阵是数组的一个特例,维数k = 2。 数据框(dataframe) 是由一个或几个向量和(或)因子构成,它们必须是等长的,但可以是不同的数据类型。

11、 列表(list) 列表可以包含任何类型的对象。,四 因 子, sex=c(“M“,“F“,“M“,“M“,“F“) sexf=factor(sex);sexf 1 M F M M F Levels: F M,五 多维数组和矩阵,多维数组和矩阵,dim()和matrix() 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,nrow=3,byrow=T) 为行或列添加名称: row.names() col.names(),数组下标,数组的运算,+, -,

12、*, /, 运算后给出数值结果,数组的运算,矩阵的运算,矩阵的运算,六 列表与数据框,列表与数据框,行名Row names 字符串,列名 Column names,每列可看做带名称的向量,表1 数据表、数据框与向量,字符串、因素,每行作为一个观测,列表的创建,列表可以是不同类型甚至不同长度的向量(数值型,逻辑型,字符型等等)、数据框甚至是列表的组合。 list() 例如 list(character,numeric,logical,matrix),数据框的创建,data.frame() #生成数据框 d - data.frame(character,numeric,logical) cbind

13、() # 按列组合成数据框 c.data-cbind(character,numeric,logical) rbind() # 按行组合成数据框,列表的创建, list(1,matrix(2:9,nrow=2),“估计“,“FALSE“)-x;x 1 1 12,1 ,2 ,3 ,4 1, 2 4 6 8 2, 3 5 7 93 1 “估计“4 1 “FALSE“,列表的创建, data.frame(x) X1 X1.1 X2 X3 X4 X.估计. X.FALSE. 1 1 2 4 6 8 估计 FALSE 2 1 3 5 7 9 估计 FALSE, m-cbind(1, 1:3);m,1 ,

14、2 1, 1 1 2, 1 2 3, 1 3,引用数据框中的元素,d - data.frame(a1, a2) $ 引用 d$a1 , 方括号引用 d,1; d5,a1 - c(5260, 5470, 5640, 6180, 6390) a2 - c(3910, 4220, 3885, 5160, 5645),外部数据读取,最为常用的数据读取方式是用read.table() 函数或read.csv()函数读取外部txt或csv格式的文件。txt文件,制表符间隔csv文件,逗号间隔一些R程序包(如foreign)也提供了直接读取Excel, SAS, dbf, Matlab, spss, sys

15、tat, Minitab文件的函数。,read.table()的使用,例:test.data-read.table(“D:/R/test2.txt“,header=T) header=T表示将数据的第一行作为标题。 read.table(file=file.choose(),header=T) 可以弹出对话框,选择文件。,实例:从数据输入到t检验,表2 六名患者的身高和体重,现有6名患者的身高和体重,检验体重除以身高的平方是否等于22.5。,第一种方式:从控制台输入数据,数据量较少时可以从控制台直接输入: height-c(1.75, 1.80, 1.65, 1.90, 1.74, 1.91)

16、 weight-c(60, 72, 57, 90, 95, 72) sq.height-height2 ratio-weight/sq.height t.test(ratio, mu=22.5),第二种方式 从外部读取数据,数据量较大时用read.table函数从外部txt文件读取 第1步 将Excel中的数据另存为.txt格式(制表符间隔)或.csv格式。 第2步 用read.table()或read.csv()函数将数据读入R工作空间,并赋值给一个对象。,在Excel中将数据存为txt文件,实例:t检验(续),一般从txt文档读取数据。每一行作为一个观测值。每一行的变量用制表符,空格或逗号

17、间隔开。 read.table(”位置”, header=T) read.csv(”位置”,header=T) #从外部读取数据 data1-read.table(“d:/t.test.data.txt“,header=T) bmi- data1$weight/data1$height2 t.test(bmi, mu=22.5) #t检验,七 编写函数,编程基础,R可以灵活的编写程序,用户自己编写的程序可以直接调用。R语言编程时无需声明变量的类型,这与C,C+等语言不同。 基本格式function.name-function(x, y) 表达式 函数内部也可用#添加注释,程序流程控制 if,i

18、f 表达式的写法 if(条件) 表达式 if(条件) 表达式1 else 表达式2 举例: if(p0.05!“),循环 for, while,for(变量 in 向量) 表达式 for(i in 1:10) print(i) while(条件) 表达式 i - 1 while(i10) print(i)i - i + 1,函数举例,定义函数: rcal-function(x,y) z - x2 + y2; result-sqrt(z) ;result; 调用函数: rcal(3,4),八 R 绘图,R绘制的图形,R绘图功能,R具备卓越的绘图功能,通过参数设置对图形进行精确控制。绘制的图形能满

19、足出版印刷的要求,可以输出JPEG、TIFF、EPS、emf、pdf、png等各种格式。绘图是通过绘图函数结合相应的选项完成的。绘图函数包括高水平绘图函数和低水平绘图函数。,高水平绘图函数,plot() 绘制散点图等多种图形 hist() 直方图 boxplot() 箱线图 stripchart() 点图 barplot() 条形图 dotplot() 点图 piechart() 饼图 interaction.plot() matplot() ,散点图与箱线图举例,低水平绘图函数,lines() 添加线 curve() 添加曲线 abline() 添加给定斜率的线 points() 添加点 s

20、egments() 折线 arrows() 箭头 axis() 坐标轴 box() 外框 title() 标题 text() 文字 mtext() 图边文字 ,绘图参数,参数用在函数内部,在没有设定值时使用默认值。 font= 字体 lty= 线类型 lwd= 线宽度 pch= 点的类型, xlab= 横坐标 ylab= 纵坐标 xlim= 横坐标范围 ylim= 纵坐标范围,举例:绘图,生成0到2之间的50个随机数,分别命名为x,y x - runif(50,0,2) y - runif(50,0,2) 绘图:将主标题命名为“散点图”, 横轴命名为”横坐标”, 纵轴命名为“纵坐标” plot

21、(x, y, main=“散点图”, xlab=“横坐标”, ylab=“纵坐标“) text(0.6,0.6,“text at (0.6,0.6)“) abline(h=.6,v=.6),绘图举例,例:分步绘图,x - runif(50,0,2);y - runif(50,0,2) 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() #补齐散点图的边框 title(m

22、ain=“Main title“, sub=“subtitle“, xlab=“x-label“, ylab=“y-label“) #添加标题、副标题、横轴说明、纵轴说明,分步绘图,A,B,C,D,E,F,一页多图, x par(mfrow=c(2,1) plot(x,y);plot(x,z),一页多图,在原有图形上添加元素,举例: x - rnorm(100) # 生成随机数 hist(x,freq=F) # 绘制直方图 curve(dnorm(x),add=T) # 添加曲线 h - hist(x, plot=F) # 绘制直方图 ylim - range(0, h$density, dn

23、orm(0) #设定纵轴的取值范围 hist(x, freq=F, ylim=ylim) #绘制直方图 curve(dnorm(x),add=T,col=“red“) #添加曲线,在原有直方图上添加曲线,总 结,R是开源的统计绘图软件,也是一种自解释的语言,有大量的程序包可以利用。 R中的向量、列表、数组、统计结果等都是对象,可以方便的生成所需对象,并进行筛选。 R脚本是输入的多个命令行。 R具有精确控制的绘图功能,生成的图可以另存为多种格式。 R编写函数无需声明变量的类型,能利用循环、条件语句,控制程序的流程。,R资源,R主页: http:/www.r-project.org CRAN 北京镜像(数学所) http:/ftp.ctex.org/mirrors/CRAN/ 群落生态学数据分析 http:/ecology.msu.montana.edu/labdsv/R/labs/ Statistics with R http:/zoonek2.free.fr/UNIX/48_R/all.html NCEAS提供的R资源 http:/www.nceas.ucsb.edu/scicomp/RProgTutorialsLatest.html,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报