资源预览内容
第1页 / 共105页
第2页 / 共105页
第3页 / 共105页
第4页 / 共105页
第5页 / 共105页
第6页 / 共105页
第7页 / 共105页
第8页 / 共105页
第9页 / 共105页
第10页 / 共105页
亲,该文档总共105页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
语言入门,报告内容,一 R简介 二 函数与对象 三 编写脚本 四 R绘图 五 编写函数 六 数据保存,一 R 简 介,R语言的由来,R语言是从S语言演变而来的。 S语言是二十世纪70年代诞生于贝尔实验室,由Rick Becker, John Chambers, Allan Wilks开发。 基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,取得了巨大成功。 1995年由新西兰Auckland大学统计系的Robert Gentleman和Ross Ihaka,编写了一种能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。,R软件简介,R是开源软件,代码全部公开,对所有人免费。 R可在多种操作系统下运行,如Windows、MacOS、多种Linux和UNIX等。 R需要输入命令,可以编写函数和脚本进行批处理运算,语法简单灵活。 目前在R网站上约有2100个程序包,涵盖了基础统计学、社会学、经济学、生态学、地理学、医学统计学、生物信息学等诸多方面。,下载和安装R,The Comprehensive R Archive Network 简称CRAN,提供下载安装程序和相应软件包。 R主页 http:/www.r-project.org/ Windows版本下载地址之一: http:/ftp.ctex.org/mirrors/CRAN/bin/windows/base/R-2.9.2-win32.exe 下载完成后,双击R-2.9.2-win32.exe 开始安装。一直点击下一步,各选项默认。,图1 R软件首页 http:/www.r-project.org/,图2 R登陆界面(Windows版) 路径: 开始所有程序R 2.9.2,菜单栏,快捷按钮,控制台,命令行,图3 R Gui 的菜单介绍,练习一:下载和安装R,下载并安装R软件 了解R的菜单,R程序包,为什么要安装程序包? 特定的分析功能,需要用相应的程序包实现。 例如:系统发育分析,往往要用到ape程序包,群落生态学vegan包等等。 程序包是什么? R程序包是多个函数的集合,具有详细的说明和示例。 Window下的R程序包是已经编译好的zip包。 每个程序包包含R函数、数据、帮助文件、描述文件等。,常用R程序包,base- R 基础功能包 stats- R统计学包 nlme- 线性及非线性混合效应模型 Graphics- 绘图 lattice- 栅格图 ape- 系统发育与进化分析 apTreeshape- 进化树分析 seqinr- DNA序列分析 ade4- 利用欧几里得方法进行生态学数据分析,常用R程序包,cluster- 聚类分析 ecodist- 生态学数据相异性分析 mefa- 生态学和生物地理学多元数据处理 mgcv- 广义加性模型相关 mvpart- 多变量分解 nlme- 线性及非线性混合效应模型 ouch- 系统发育比较 BiodiversityR - 基于Rcmdr的生物多样性数据分析 vegan- 植物与植物群落的排序,生物多样性计算,常用R程序包,maptools- 空间对象的读取和处理 sp- 空间数据处理 spatstat- 空间点格局分析,模型拟合与检验 splancs- 空间与时空点格局分析 picante- 群落系统发育多样性分析,图4 CRAN Task Views: 对程序包的分类介绍,图5 vegan包页面,R程序包,在CRAN 提供了每个包的源代码和编译好的MacOS、Window下的程序包 以vegan包为例,CRAN提供了: Package source: vegan_1.15-3.tar.gz MacOS X binary: vegan_1.15-3.tgz Windows binary: vegan_1.15-3.zip Reference manual: vegan.pdf 等 Window平台下程序包为zip文件,安装时不要解压缩。,R程序包安装,1 连网时,用函数install.packages(), 选择镜像后,程序将自动下载并安装程序包。 例如: 打开RGui,在控制台中输入 install.packages(“ape) 2 安装本地zip包 路径:Packagesinstall packages from local files 选择光盘或者本地磁盘上存储zip包的文件夹。,程序包使用,在控制台中输入如下命令: library(vegan) library(ade4) 调用程序包内的函数与R内置的函数调用方法一样 library(vegan) This is vegan 1.15-3 Warning message: package vegan was built under R version 2.9.1,练习二 安装并导入程序包,安装程序包 程序包从本地zip文件安装程序包 调用程序包 library(vegan) library(ape),查看帮助文件,如何知道ape程序包内部都有哪些函数? 最常用的方法: 1 菜单 帮助Html帮助 2 查看pdf帮助文档(从程序包下载页面下载),查看帮助文件,1 help(t.test) 2 ?t.test 3 help.search(t.test) 4 apropos(t.test) 5 RGuiHelpHtml help 6 查看R包pdf手册,帮助文件的内容,以lm函数为例: lm(stats) #函数名及所在包 Fitting Linear Models # 标题 Description #函数描述 Usage # 默认选项 Arguments # 参数 Details # 详情 Author(s) # 作者 References # 参考文献 Examples # 举例,练习三 查看帮助文件,打开ape软件包的帮助文件 library(ape) 查找ape包中plot.phylo函数的帮助 输入 ?plot.phylo 将其中的Example文件粘贴到Console中,查看运行的结果。,图形界面之一:R Commander,图6 R commander 界面 library(Rcmdr),界面操作代码,结果输出,为什么要学习编程?,界面操作直观易学,但也存在一些不足: 操作的过程难以保存,数据处理不够灵活,在进行步骤繁多的数据处理工作时十分费时费力;在建立模型或自己编写函数时也会遇到困难。而这些困难可以通过编程解决。 学习R编程,首先要了解R的函数、对象及其操作。,二 R函数与对象,数据表的行与列,行名Row names 字符串,列名 Column names,每列可看做带名称的向量,表1 数据表、数据框与向量,字符串、因素,每行作为一个Entry,R的函数,R是一种解释性语言,不需要先编译成.exe文件,输入后可直接运行。 函数形式 function(对象,选项= ) 平均值 mean() 线性回归 lm(yx, data=test) R处理的所有数据、变量、函数和结果都以对象的形式保存。,R的函数,每一个函数执行特定的功能,后面紧跟括号,例如: 平均值 mean() 求和 sum() 绘图 plot() 排序 sort() 除了基本的运算之外,R的函数又分为高级和低级函数,高级函数内部嵌套了复杂的低级函数,例如plot()是高级绘图函数,函数本身会根据数据的类型,经过程序内部的函数判别之后,绘制相应类型的图形,并有大量的参数可选择。,部分函数,计算 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) bartlett.test binom.test fisher.test chisq.test glm(y x1+x2+x3, binomial) friedman.test .,图7 箱线图修饰前后(左:默认值,右:修改属性后) boxplot(count spray, data = InsectSprays) boxplot(count spray, data = InsectSprays, col = red),R函数调用及其选项,R函数调用及其选项,函数的调用方法, 函数名+() 如 plot(), lm(),并将对象放入括号中,“=”表示设定参数。例如: boxplot(daytype, data=bac, col=“red“, xlab=“Virus”, ylab=“days”) daytype,以type为横轴,day为纵轴绘制箱线图。 data=bac 数据来源bac col=“red” 箱线图为红色 xlab=“Virus” 横轴名称为Virus ylab=“days” 纵轴名称为days,练习四:查询函数帮助,查看boxplot的帮助文件 ?boxplot 查看最后的examples 将帮助文件中的内容粘贴到控制台中,运行并观看运行结果。 boxplot(count spray, data = InsectSprays, col = lightgray) 选项更改 boxplot(count spray, data = InsectSprays, col = “red”, xlab=“spray”, ylab=“counts”),赋值与注释,在控制台中键入如下命令 2+2 a代替 b-2 c-a+b c #注释,赋值符号,为对象起名,R是区分大小写的,A与a是不同的。 对象名不能用数字开头,但是数字可以放在中间或结尾。推荐用”.”作为间隔,例如 anova.result1。 举例:一个向量a,包含了四个元素, a-c(10,15,21,18)该向量为数值型,长度为4。 保留名称(命名对象时不要与保留名称冲突): NA, NaN, pi, LETTERS, letters, month.abb, month.name,对象的类型,数值型 Numeric 如 100, 0, -4.335 字符型 Character 如 “China” 逻辑型 Logical 如TRUE, FALSE 因子型 Factor 表示不同类别 复数型 Complex 如:2 + 3i,对象的类别,向量(vector) 一系列元素的组合。 因子(factor) 因子是一个分类变量,如“a”,”a”,”a”,”a”,”b”,”b”,”b”,”c”,”c” 数组(array) 数组是k维的数据表。 矩阵(matrix) 矩阵是数组的一个特例,维数k = 2。 数据框(dataframe) 是由一个或几个向量和(或)因子构成,它们必须是等长的,但可以是不同的数据类型。 列表(list) 列表可以包含任何类型的对象。 (据Paradis, 2005),运算符,数学运算 运算后给出数值结果 +, -, *, /, 比较运算 运算后给出判别结果(TRUE FALSE) , =, =, != 逻辑运算 与、或、非 !, intake.prec(3,5,7) v - c(3,5,7);intake.prev intake.pre1:5; intake.pre-c(3,5,7),引用数据框中的元素,d - data.frame(intake.pre, intake.post) $ 引用 d$intake.pre , 方括号引用 d,1; d5,访问数据框内的元素,直接调用
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号