您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > R语言初步-生物地理小组组会培训
1语言初步张金龙jinlongzhang01@gmail.comJune3,2010生物地理学小组数据分析培训—从数据到编程2报告内容一R简介二函数与对象三脚本编程四R绘图五编写函数六数据保存3一R简介4什么是R?图1R首页的图形•R是一种统计绘图语言,也指实现该语言的软件。TheRProjectforStatisticalComputing5简史R语言是从S统计绘图语言演变而来,可看作S的“方言”。S语言上世纪70年代诞生于贝尔实验室,由RickBecker,JohnChambers,AllanWilks开发。基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广。1995年由新西兰Auckland大学统计系的RobertGentleman和RossIhaka,基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。6R的特点多领域的统计资源目前在R网站上约有2400个程序包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。跨平台R可在多种操作系统下运行,如Windows、MacOS、多种Linux和UNIX等。命令行驱动R即时解释,输入命令,即可获得相应的结果。7为什么选择R?•丰富的资源涵盖了多种行业数据分析中几乎所有的方法。•良好的扩展性十分方便得编写函数和程序包,跨平台,可以胜任复杂的数据分析、绘制精美的图形。•完备的帮助系统每个函数都有统一格式的帮助,运行实例。•GNU软件免费、软件本身及程序包的源代码公开。8R与其他统计软件比较•SAS:速度快,有大量统计分析模块,可扩展性稍差,昂贵。•SPSS:复杂的用户图形界面,简单易学,但编程十分困难。•Splus:运行S语言,具有复杂的界面,与R完全兼容,昂贵。……9R的缺点•用户需要对命令熟悉与代码打交道,需要记住常用命令。•占用内存所有的数据处理在内存中进行,不适于处理超大规模的数据。•运行速度稍慢即时编译,约相当于C语言的1/20。•相比点击鼠标进行操作,R仍能够大大提高效率。10图2R软件首页简称CRAN,由世界几十个镜像网站组成网络,提供下载安装程序和相应软件包。各镜像更新频率一般为1-2天推荐镜像:中国的镜像:数学所即时更新的CRAN源下载和安装RCRAN:BinariesWindowsbase下载完成后,双击R-2.11.0-win32.exe开始安装。一直点击下一步,各选项默认,语言建议选英文。图3R2.11.0下载页面13图4R登陆界面(Windows版)路径:开始所有程序R2.11.0菜单栏快捷按钮控制台光标:等待输入14图5RGui的File菜单15图6RGui的Edit菜单16图7RGui的Packages菜单17图8RGui的Help菜单18R程序包(RPackages)程序包是什么?R程序包是多个函数的集合,具有详细的说明和示例。Window下的R程序包是经过编译的zip包。每个程序包包含R函数、数据、帮助文件、描述文件等。为什么要安装程序包?R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。例如:系统发育分析,常用到ape程序包,群落生态学vegan包等。19常用R程序包(I)ade4利用欧几里得方法进行生态学数据分析adephylo系统进化数据挖掘与比较方法ape系统发育与进化分析apTreeshape进化树分析bootBootstrap检验cluster聚类分析ecodist生态学数据相异性分析FD功能多样性分析geiger物种形成速率与进化分析20常用R程序包(II)Graphics绘图lattice栅格图maptools空间对象的读取和处理mefa生态学和生物地理学多元数据处理mgcv广义加性模型相关mvpart多变量分解nlme线性及非线性混合效应模型ouch系统发育比较pgirmess生态学数据分析phangorn系统发育分析21常用R程序包(III)picante群落系统发育多样性分析raster栅格数据分析与处理seqinrDNA序列分析sp空间数据处理spatstat空间点格局分析,模型拟合与检验splancs空间与时空点格局分析statsR统计学包SDMTools物种分布模型工具vegan植物与植物群落的排序,生物多样性计算22图9CRANTaskViews:对程序包的分类介绍CRANTaskViews23图10vegan包页面三种平台上的程序包24R程序包在CRAN提供了每个包的源代码和编译好的程序包以vegan包为例,CRAN提供了:Packagesource:vegan_1.17-2.tar.gzMacOSXbinary:vegan_1.17-2.tgzWindowsbinary:vegan_1.17-2.zipReferencemanual:vegan.pdfWindow下程序包为zip文件,安装时不要解压缩。25安装程序包的方法1用函数install.packages(),如果已经连接到互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动下载并安装程序包。例如:要安装picante包,在控制台中输入install.packages(picante)2安装本地zip包路径:Packagesinstallpackagesfromlocalfiles选择本地磁盘上存储zip包的文件夹。26程序包使用程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。在控制台中输入如下命令:library(vegan)library(ade4)程序包内的函数的用法与R内置的基本函数用法一样。library(vegan)Thisisvegan1.17-227查看程序包帮助文件vegan程序包内部都有哪些函数?分别有什么功能?查询程序包内容最常用的方法:1菜单帮助Html帮助2查看pdf帮助文档28查看函数的帮助文件函数的默认值是什么?怎么使用?使用时需要注意什么问题?需要查询函数的帮助。1?t.test2RGuiHelpHtmlhelp3apropos(t.test)4help(t.test)5help.search(t.test)6查看R包pdf手册29图11R帮助文件的内容与格式30帮助文件的内容•lm{stats}#函数名及所在包•FittingLinearModels#标题•Description#函数描述•Usage#默认选项•Arguments#参数•Details#详情•Author(s)#作者•References#参考文献•Examples#举例31练习一安装R并导入程序包1.安装R软件、熟悉菜单2.安装程序包3.调用程序包,查看程序包的帮助library(vegan)library(ape)查找ape包中plot.phylo函数的帮助输入?plot.phylo将其中的Example粘贴到控制台中,查看运行的结果。32R图形界面:Rcommander•Rcommander是R的图形界面之一,是JohnFox教授编写的,适用于不希望R编程的用户。随着用户的操作,其窗口还可以显示出相应操作的R程序,对于初学者可能会有帮助。•安装Rcommander•install.packages(Rcmdr)•R将自动下载并安装Rcmdr所需的所有程序包33图形界面之一:RCommander图12Rcommander界面library(Rcmdr)界面操作代码结果输出34为什么要学习编程?界面操作直观易学,但也存在一些不足:(1)操作的过程难以保存,数据处理不够灵活,在进行步骤繁多的数据处理工作时十分费时费力;(2)在建立模型或自己编写函数时也会遇到困难。而这些困难可以通过编程解决。要学习R编程,首先要了解R的函数、对象及其操作。35二函数与对象36R的函数R是一种解释性语言,输入后可直接给出结果。功能靠函数实现。函数形式:函数(输入数据,参数=)如果没有指定,则参数的以默认值为准。例如:平均值mean(x,trim=0,na.rm=FALSE,...)线性模型lm(y~x,data=test)37R的函数每一个函数执行特定的功能,后面紧跟括号,例如:平均值mean()求和sum()绘图plot()排序sort()除了基本的运算之外,R的函数又分为”高级”和”低级”函数,高级函数可调用低级函数,这里的”高级”函数习惯上称为泛型函数。如plot()就是泛型函数,可以根据数据的类型,调用底层的函数,应用相应的方法绘制相应的图形。这就是面向对象编程的思想。38R有哪些函数?查询的方法:HelpHtmlhelppackageslog()log10()exp()sin()cos()tan()asin()acos()binom.test()fisher.test()chisq.test()glm(y~x1+x2+x3,binomial)friedman.test()mean()sd()var()….39图13箱线图修饰前后(左:默认值,右:修改属性后)函数的调用方法,函数名()如plot(),lm(),并将对象放入括号中。R函数调用及其选项40R函数调用及其选项箱线图绘制函数的调用boxplot(day~type,data=bac,col=red,xlab=Virus,ylab=days)day~type,以type为横轴,day为纵轴绘制箱线图。data=bac数据来源baccol=“red”箱线图为红色xlab=“Virus”横轴名称为Virusylab=“days”纵轴名称为days41练习二:查询函数帮助查看boxplot的帮助文件?boxplot查看最后的examples将帮助文件中的内容粘贴到控制台中,运行并观看运行结果。boxplot(count~spray,data=InsectSprays,col=lightgray)参数更改boxplot(count~spray,data=InsectSprays,col=red,xlab=spray,ylab=counts)42赋值与注释在控制台中键入如下命令2+2a-2-也可用=,甚至-代替b-2c-a+bc#注释赋值符号43如何为对象起名?R处理的所有数据、变量、函数和结果都以对象的形式保存。1.区分大小写,注意China和china的不同。2.不能用数字作为变量,对象也不能用数字开头,但是数字可以放在中间或结尾,如2result与result2,后者是合法的。3.建议不要用过短的名称。可以用”.”作为间隔,例如anova.result1。4.不要使用保留名:NA,NaN,pi,LETTERS,letters,month.abb,month.name44元素的类型对象是由各元素组成的。每个元素,都有自己的数据类型数值型Numeric如100,0,-4.335字符型Character如“China”逻辑型Logical如TRUE,FALSE因子型Factor表示不同类别复数型Complex如:2+3i45对象的类(class)向量(vector)一系列元素的组合。如c(1,2,3);c(a,a,b,b,c)因子(factor)因子是一个分类变量c(a,a,b,b,c)矩阵(matrix)二维的数据表,是数组的一个特例x-1:12;dim(x)-c(3,4)[,1][,2][,3][,4][1,]14710[2,]25811[3,]3691246对象的类数组(array)数组是k维的数据表(kin1:n,n为正整数)。向量(n=1)矩阵(n=2)高维数组(n=3)数据框(dataframe)是由一个或几个向量和(或)
本文标题:R语言初步-生物地理小组组会培训
链接地址:https://www.777doc.com/doc-2856387 .html