资源预览内容
第1页 / 共124页
第2页 / 共124页
第3页 / 共124页
第4页 / 共124页
第5页 / 共124页
第6页 / 共124页
第7页 / 共124页
第8页 / 共124页
第9页 / 共124页
第10页 / 共124页
亲,该文档总共124页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,语言初步,张金龙 June 3, 2010, 数据处理、绘图与编程,2,报告内容,一 R简介 二 函数与对象 三 脚本编程 四 R绘图 五 编写函数 六 数据保存,3,一 R 简介,4,什么是R?,图1 R首页的图形 R是一种统计绘图语言,也指实现该语言的软件。,The R Project for Statistical Computing,5,简 史,R语言是从S统计绘图语言演变而来,可看作S的“方言”。 S语言上世纪70年代诞生于贝尔实验室,由Rick Becker, John Chambers, Allan Wilks开发。 基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广。 1995年由新西兰Auckland大学统计系的Robert Gentleman和Ross Ihaka,基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。,6,R的特点,多领域的统计资源 目前在R网站上约有2400个程序包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。 跨平台 R可在多种操作系统下运行,如Windows、MacOS、多种Linux和UNIX等。 命令行驱动 R即时解释,输入命令,即可获得相应的结果。,7,为什么选择R?,丰富的资源 涵盖了多种行业数据分析中几乎所有的方法。 良好的扩展性 十分方便得编写函数和程序包,跨平台,可以胜任复杂的数据分析、绘制精美的图形。 完备的帮助系统 每个函数都有统一格式的帮助,运行实例。 GNU软件 免费、软件本身及程序包的源代码公开。,8,R与其他统计软件比较,SAS: 速度快,有大量统计分析模块,可扩展性稍差,昂贵。 SPSS: 复杂的用户图形界面,简单易学,但编程十分困难。 Splus: 运行S语言,具有复杂的界面,与R完全兼容,昂贵。 ,9,R的缺点,用户需要对命令熟悉 与代码打交道,需要记住常用命令。 占用内存 所有的数据处理在内存中进行,不适于处理超大规模的数据。 运行速度稍慢 即时编译,约相当于C语言的1/20。 相比点击鼠标进行操作,R仍能够大大提高效率。,10,图2 R软件首页 http:/www.r-project.org/,11,CRAN,The Comprehensive R Archive Network 简称CRAN,由世界几十个镜像网站组成网络,提供下载安装程序和相应软件包。各镜像更新频率一般为1-2天 推荐镜像: 中国的镜像:数学所 http:/ftp.ctex.org/mirrors/CRAN/ 即时更新的CRAN源 http:/cran.r-project.org/,12,Windows下载和安装R,CRAN: BinariesWindowsbase 下载完成后,双击R-2.11.0-win32.exe 开始安装。 一直点击下一步,各选项默认,语言建议选英文。,图3 R2.11.0下载页面,13,图 4 R登陆界面(Windows版) 路径: 开始所有程序R 2.11.0,菜单栏,快捷按钮,控制台,光标:等待输入,14,图 5 R Gui 的File菜单,15,图 6 R Gui 的Edit菜单,16,图 7 R Gui 的Packages菜单,17,图 8 R Gui 的Help菜单,18,R程序包(R Packages),程序包是什么? R程序包是多个函数的集合,具有详细的说明和示例。 Window下的R程序包是经过编译的zip包。 每个程序包包含R函数、数据、帮助文件、描述文件等。 为什么要安装程序包? R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。 例如:系统发育分析,常用到ape程序包,群落生态学vegan包等。,19,常用R程序包(I),20,常用R程序包(II),21,常用R程序包(III),22,图 9 CRAN Task Views: 对程序包的分类介绍,CRAN Task Views,23,图 10 vegan包页面,三种平台上的程序包,24,R程序包,在CRAN 提供了每个包的源代码和编译好的程序包 以vegan包为例,CRAN提供了: Package source: vegan_1.17-2.tar.gz MacOS X binary: vegan_1.17-2.tgz Windows binary: vegan_1.17-2.zip Reference manual: vegan.pdf Window下程序包为zip文件,安装时不要解压缩。,25,安装程序包的方法,1 用函数 install.packages(), 如果已经连接到互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动下载并安装程序包。 例如: 要安装picante包,在控制台中输入 install.packages(picante) 2 安装本地zip包 路径:Packagesinstall packages from local files 选择本地磁盘上存储zip包的文件夹。,26,程序包使用,程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。 在控制台中输入如下命令: library(vegan) library(ade4) 程序包内的函数的用法与R内置的基本函数用法一样。 library(vegan) This is vegan 1.17-2,27,查看程序包帮助文件,vegan 程序包内部都有哪些函数?分别有什么功能? 查询程序包内容最常用的方法: 1 菜单 帮助Html帮助 2 查看pdf帮助文档,28,查看函数的帮助文件,函数的默认值是什么? 怎么使用? 使用时需要注意什么问题? 需要查询函数的帮助。 1 ?t.test 2 RGuiHelpHtml help 3 apropos(t.test) 4 help(t.test) 5 help.search(t.test) 6 查看R包pdf手册,29,图 11 R帮助文件的内容与格式,30,帮助文件的内容,lmstats #函数名及所在包 Fitting Linear Models #标题 Description #函数描述 Usage #默认选项 Arguments #参数 Details #详情 Author(s) #作者 References #参考文献 Examples #举例,31,练习一 安装R并导入程序包,1. 安装R软件、熟悉菜单 2. 安装程序包 3. 调用程序包,查看程序包的帮助 library(vegan) library(ape) 查找ape包中plot.phylo函数的帮助 输入 ?plot.phylo 将其中的Example粘贴到控制台中,查看运行的结果。,32,R图形界面:R commander,R commander是R的图形界面之一,是John Fox教授编写的,适用于不希望R编程的用户。随着用户的操作,其窗口还可以显示出相应操作的R程序,对于初学者可能会有帮助。 安装R commander install.packages(Rcmdr) R将自动下载并安装Rcmdr所需的所有程序包,33,图形界面之一:R Commander,图 12 R commander 界面 library(Rcmdr),界面操作代码,结果输出,34,为什么要学习编程?,界面操作直观易学,但也存在一些不足: (1)操作的过程难以保存,数据处理不够灵活,在进行步骤繁多的数据处理工作时十分费时费力; (2)在建立模型或自己编写函数时也会遇到困难。 而这些困难可以通过编程解决。 要学习R编程,首先要了解R的函数、对象及其操作。,35,二 函数与对象,36,R的函数,R是一种解释性语言,输入后可直接给出结果。 功能靠函数实现。 函数形式: 函数(输入数据,参数= ) 如果没有指定,则参数的以默认值为准。 例如: 平均值 mean(x, trim = 0, na.rm = FALSE, .) 线性模型 lm(yx, data=test),37,R的函数,每一个函数执行特定的功能,后面紧跟括号,例如: 平均值 mean() 求和 sum() 绘图 plot() 排序 sort() 除了基本的运算之外,R的函数又分为”高级”和”低级”函数,高级函数可调用低级函数,这里的”高级”函数习惯上称为泛型函数。 如plot()就是泛型函数,可以根据数据的类型,调用底层的函数,应用相应的方法绘制相应的图形。这就是面向对象编程的思想。,38,R有哪些函数?,查询的方法:HelpHtml helppackages log() 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函数调用及其选项,40,R函数调用及其选项,箱线图绘制函数的调用 boxplot(daytype, data=bac, col=red, xlab=Virus, ylab=days) daytype,以type为横轴,day为纵轴绘制箱线图。 data=bac 数据来源bac col=“red” 箱线图为红色 xlab=“Virus” 横轴名称为Virus ylab=“days” 纵轴名称为days,41,练习二:查询函数帮助,查看boxplot的帮助文件 ?boxplot 查看最后的examples 将帮助文件中的内容粘贴到控制台中,运行并观看运行结果。 boxplot(count spray, data = InsectSprays, col = lightgray) 参数更改 boxplot(count spray, data = InsectSprays, col = red, xlab=spray, ylab=counts),42,赋值与注释,在控制台中键入如下命令 2 + 2 a 代替 b - 2 c - a+b c #注释,赋值符号,43,如何为对象起名?,R处理的所有数据、变量、函数和结果都以对象的形式保存。 1. 区分大小写,注意China和china的不同。 2. 不能用数字作为变量,对象也不能用数字开头,但是数字可以放在中间或结尾,如2result与result2,后者是合法的。 3. 建议不要用过短的名称。可以用”.”作为间隔,例如 anova.result1。 4. 不要使用保留名: NA, NaN, pi, LETTERS, letters, month.abb, month.name,44,元素的类型,对象是由各元素组成的。每个元素,都有自己的数据类型 数值型 Numeric 如 100, 0, -4.335 字符型 Character 如 “China” 逻辑型 Logical 如TRUE, FALSE 因子型 Factor 表示不同类别 复数型 Complex 如:2 + 3i,45,对象的类(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, 1 4 7 10 2, 2 5 8 11 3, 3 6 9 12,46,对象
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号