R语言初步统计绘图与编程.pptx
《R语言初步统计绘图与编程.pptx》由会员分享,可在线阅读,更多相关《R语言初步统计绘图与编程.pptx(123页珍藏版)》请在咨信网上搜索。
1、1报告内容一 R简介二 函数与对象三 脚本编程四 R绘图五 编写函数六 数据保存2一 R 简介3什么是R?图1 R首页的图形R是一种统计绘图语言,也指实现该语言的软件。The R Project for Statistical Computing 4简 史 R语言是从S统计绘图语言演变而来,可看作S的“方言”。S语言上世纪70年代诞生于贝尔实验室,由Rick Becker,John Chambers,Allan Wilks开发。基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广。1995年由新西兰Auckland大学统计系的Robert G
2、entleman和Ross Ihaka,基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。5R的特点多领域的统计资源 目前在R网站上约有2400个程序包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。跨平台 R可在多种操作系统下运行,如Windows、MacOS、多种Linux和UNIX等。命令行驱动 R即时解释,输入命令,即可获得相应的结果。6为什么选择R?丰富的资源 涵盖了多种行业数据分析中几乎所有的方法。良好的扩展性 十分方便得编写函数和程序包,跨平台,可以胜任复杂的数据分析、绘制精美的
3、图形。完备的帮助系统 每个函数都有统一格式的帮助,运行实例。GNU软件 免费、软件本身及程序包的源代码公开。7R与其他统计软件比较SAS:速度快,有大量统计分析模块,可扩展性稍差,昂贵。SPSS:复杂的用户图形界面,简单易学,但编程十分困难。Splus:运行S语言,具有复杂的界面,与R完全兼容,昂贵。8R的缺点用户需要对命令熟悉 与代码打交道,需要记住常用命令。占用内存 所有的数据处理在内存中进行,不适于处理超大规模的数据。运行速度稍慢 即时编译,约相当于C语言的1/20。相比点击鼠标进行操作,R仍能够大大提高效率。9图2 R软件首页 http:/www.r-project.org/10CRA
4、NThe Comprehensive R Archive Network简称CRAN,由世界几十个镜像网站组成网络,提供下载安装程序和相应软件包。各镜像更新频率一般为1-2天推荐镜像:中国的镜像:数学所http:/ftp.ctex.org/mirrors/CRAN/即时更新的CRAN源http:/cran.r-project.org/11Windows下载和安装RCRAN:BinariesWindowsbase 下载完成后,双击R-2.11.0-win32.exe 开始安装。一直点击下一步,各选项默认,语言建议选英文。图3 R2.11.0下载页面12图 4 R登陆界面(Windows版)路径:
5、开始所有程序R 2.11.0菜单栏菜单栏快捷按钮快捷按钮控制台控制台光标光标:等待输入等待输入13图 5 R Gui 的File菜单14图 6 R Gui 的Edit菜单15图 7 R Gui 的Packages菜单16图 8 R Gui 的Help菜单17R程序包(R Packages)程序包是什么?程序包是什么?R程序包是多个函数的集合,具有详细的说明和示例。Window下的R程序包是经过编译的zip包。每个程序包包含R函数、数据、帮助文件、描述文件等。为什么要安装程序包?为什么要安装程序包?R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。例如:系统发育分析,常用到ape程序
6、包,群落生态学vegan包等。18常用R程序包(I)ade4利用欧几里得方法进行生态学数据分析adephylo系统进化数据挖掘与比较方法ape系统发育与进化分析apTreeshape进化树分析bootBootstrap检验cluster聚类分析ecodist生态学数据相异性分析FD功能多样性分析geiger物种形成速率与进化分析19常用R程序包(II)Graphics绘图lattice栅格图maptools空间对象的读取和处理mefa生态学和生物地理学多元数据处理mgcv广义加性模型相关mvpart多变量分解nlme线性及非线性混合效应模型ouch系统发育比较pgirmess生态学数据分析ph
7、angorn系统发育分析20常用R程序包(III)picante群落系统发育多样性分析raster栅格数据分析与处理seqinrDNA序列分析sp空间数据处理spatstat空间点格局分析,模型拟合与检验splancs空间与时空点格局分析statsR统计学包SDMTools物种分布模型工具vegan植物与植物群落的排序,生物多样性计算21图 9 CRAN Task Views:对程序包的分类介绍CRAN Task Views22图 10 vegan包页面三种平台上的程序包23R程序包在CRAN 提供了每个包的源代码和编译好的程序包以vegan包为例,CRAN提供了:Package source
8、: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文件,安装时不要解压缩。24安装程序包的方法1 用函数 install.packages(),如果已经连接到互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动下载并安装程序包。例如:要安装picante包,在控制台中输入 install.packages(picante)2 安装本地zip包路径:Packagesinstall pac
9、kages from local files选择本地磁盘上存储zip包的文件夹。25程序包使用程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。在控制台中输入如下命令:library(vegan)library(ade4)程序包内的函数的用法与R内置的基本函数用法一样。library(vegan)This is vegan 1.17-226查看程序包帮助文件vegan 程序包内部都有哪些函数?分别有什么功能?查询程序包内容最常用的方法:1 菜单 帮助Html帮助2 查看pdf帮助文档27查看函数的帮助文件函数的默认值是什么?函数的默认值是什么?怎么使用?怎么使用?使用时需要注意什么问
10、使用时需要注意什么问题?题?需要查询函数的帮助。需要查询函数的帮助。1?t.test 2 RGuiHelpHtml help3 apropos(t.test)4 help(t.test)5 help.search(t.test)6 查看查看R包包pdf手册手册28图 11 R帮助文件的内容与格式29帮助文件的内容lmstats#函数名及所在包 Fitting Linear Models#标题Description#函数描述Usage#默认选项Arguments#参数Details#详情Author(s)#作者References#参考文献Examples#举例30练习一 安装R并导入程序包1.
11、安装R软件、熟悉菜单2.安装程序包3.调用程序包,查看程序包的帮助library(vegan)library(ape)查找ape包中plot.phylo函数的帮助输入?plot.phylo将其中的Example粘贴到控制台中,查看运行的结果。31R图形界面:R commanderR commander是R的图形界面之一,是John Fox教授编写的,适用于不希望R编程的用户。随着用户的操作,其窗口还可以显示出相应操作的R程序,对于初学者可能会有帮助。安装R commanderinstall.packages(Rcmdr)R将自动下载并安装Rcmdr所需的所有程序包32图形界面之一:R Comm
12、ander图 12 R commander 界面 library(Rcmdr)界面操作代码结果输出33为什么要学习编程?界面操作直观易学,但也存在一些不足:(1)操作的过程难以保存,数据处理不够灵活,在进行步骤繁多的数据处理工作时十分费时费力;(2)在建立模型或自己编写函数时也会遇到困难。而这些困难可以通过编程解决。要学习R编程,首先要了解R的函数、对象及其操作。34二 函数与对象35R的函数R是一种解释性语言,输入后可直接给出结果。功能靠函数实现。函数形式:函数(输入数据,参数=)如果没有指定,则参数的以默认值为准。例如:平均值 mean(x,trim=0,na.rm=FALSE,.)线性模
13、型 lm(yx,data=test)36R的函数每一个函数执行特定的功能,后面紧跟括号,例如:平均值 mean()求和 sum()绘图 plot()排序 sort()除了基本的运算之外,R的函数又分为”高级”和”低级”函数,高级函数可调用低级函数,这里的”高级”函数习惯上称为泛型函数。如plot()就是泛型函数,可以根据数据的类型,调用底层的函数,应用相应的方法绘制相应的图形。这就是面向对象编程的思想。37R有哪些函数?查询的方法:查询的方法:HelpHtml helppackageslog()log10()exp()sin()cos()tan()asin()acos()binom.test(
14、)fisher.test()chisq.test()glm(y x1+x2+x3,binomial)friedman.test()mean()sd()var().38 图13 箱线图修饰前后(左:默认值,右:修改属性后)函数的调用方法,函数名()如 plot(),lm(),并将对象放入括号中。R函数调用及其选项39R函数调用及其选项箱线图绘制函数的调用boxplot(daytype,data=bac,col=red,xlab=Virus,ylab=days)daytype,以type为横轴,day为纵轴绘制箱线图。data=bac 数据来源baccol=“red”箱线图为红色xlab=“Vir
15、us”横轴名称为Virusylab=“days”纵轴名称为days40练习二:查询函数帮助查看boxplot的帮助文件?boxplot查看最后的examples 将帮助文件中的内容粘贴到控制台中,运行并观看运行结果。boxplot(count spray,data=InsectSprays,col=lightgray)参数更改参数更改boxplot(count spray,data=InsectSprays,col=red,xlab=spray,ylab=counts)41赋值与注释在控制台中键入如下命令2+2a-2代替b-2c-a+bc#注释赋值符号42如何为对象起名?R处理的所有数据、变量
16、、函数和结果都以对象的形式保存。1.区分大小区分大小写,注意China和china的不同。2.不能用数字作为变量,对象也不能用数字开头,但是数字可以放在中间或结尾,如2result与与result2,后者是合法的。3.建议不要用过短的名称。可以用”.”作为间隔,例如 anova.result1。4.不要使用保留名:NA,NaN,pi,LETTERS,letters,month.abb,month.name43元素的类型对象是由各元素组成的。每个元素,都有自己的数据类型数值型 Numeric 如 100,0,-4.335字符型 Character 如“China”逻辑型 Logical 如TRU
17、E,FALSE因子型 Factor 表示不同类别复数型 Complex 如:2+3i44对象的类(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)=3)数据框(dataframe)是由一个或几个向量和(或)因子构成,它们必须是等长的,但可以是不同的数据类型。列表(list)列表可以包含任何类型的对象。可以包含向量、矩阵、高维数组,也可以包含列表46运算符数学运算 运算后给出数值结果+,-,*,/,(幂幂)比较运
18、算 运算后给出判别结果(TRUE FALSE),=,=,!=逻辑运算 与、或、非!,&,&,|,|47数据表的行与列低地33220251049样方5低地20260241238样方4山坡45390201146样方3山坡30350261251样方2山顶25600221540样方1类型坡度海拔属数科数物种数行名Row names字符串列名 Column names每列可看做带名称的向量表1 数据表、数据框与向量字符串、因子每行作为一个Entry48数据框的组成每个数据表可以看作一个数据框(dataframe)。每一列(column)作为一个向量(vector)。由很多不同类型的向量组成,如字符型,因
19、子型,数值型。每一行(row)作为一个记录(entry)如何生成数据框?两种办法:(1)从外部数据读取(2)各类型因子组合成数据框49外部数据读取 最为常用的数据读取方式是用read.table()函数或read.csv()函数读取外部txt或csv格式的文件。txt文件,制表符间隔 csv文件,逗号间隔 一些R程序包(如foreign)也提供了直接读取Excel,SAS,dbf,Matlab,spss,systat,Minitab文件的函数。50read.csv()的使用例:test.data-read.csv(D:/R/test2.csv,header=T)header=T表示将数据的第一
20、行作为标题。read.table(file=file.choose(),header=T)可以弹出对话框,选择文件。51例:从数据输入到t检验编号123456身高 m1.751.801.651.901.741.91体重kg607257909572表2 六名患者的身高和体重现有6名患者的身高和体重,检验体重除以身高的平方是否等于22.5。52第一种方式:从控制台输入数据数据量较少时可以从控制台直接输入: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/s
21、q.height t.test(ratio,mu=22.5)53第二种方式 从外部读取数据数据量较大时用read.table函数从外部txt文件读取第1步 将Excel中的数据另存为.txt格式(制表符间隔)或.csv格式。第2步 用read.table()或read.csv()函数将数据读入R工作空间,并赋值给一个对象。54图14 在Excel中将数据存为txt文件55例:t检验(续)一般从txt文档读取数据。每一行作为一个观测值。每一行的变量用制表符,空格或逗号间隔开。read.table(”位置位置”,header=T)read.csv(”位置位置”,header=T)#从外部读取数据d
22、ata1-read.table(d:/t.test.data.txt,header=T)bmi-data1$weight/data1$height2t.test(bmi,mu=22.5)#t检验56练习三:数据读取和t检验将表2中的数据录入Excel中,另存为t.test.txt文件。用read.table函数读取该文件。t.test.data-read.table(“X:/t.test.txt”,header=TRUE)对变量t.test.data中的attach(t.test.data)ratio-weight/height2t.test(ratio)57例:单因素方差分析 将三种不同菌型
23、的伤寒病毒a,b,c分别接种于10,9,和11只小白鼠上,观察其存活天数,问三种菌型下小白鼠的平均存活天数是否有显著差异。a菌株:菌株:2,4,3,2,4,7,7,2,5,4 b菌株:菌株:5,6,8,5,10,7,12,6,6 c菌株:菌株:7,11,6,6,7,9,5,10,6,3,10 58准备数据表图15 数据表的准备day和type 各为一列59例:方差分析(续)#数据读取,将test1.txt中的内容保存到bac中,header=T表示保留标题行。bac-read.table(d:/anova.data.txt,header=T)#将ba数据框中的type转换为因子(factor)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 初步 统计 绘图 编程
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。