《R软件及统计分析入门实例课件.ppt》由会员分享,可在线阅读,更多相关《R软件及统计分析入门实例课件.ppt(62页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、R软件及统计分析入门实例实验目的实验目的实验内容实验内容初步学习如何应用初步学习如何应用R软件解决统计问题软件解决统计问题1 1、R R 简介简介2 2、应用实例、应用实例3 3、实验作业、实验作业ftp:/ftp:/10.108.6.254用户名用户名:r密码:123456第一讲第一讲 入门实例入门实例R是一个开放(GPL)的统计编程环境一种语言,是语言(由AT&T Bell实验室的Rick Becker,John Chambers,Allan Wilks开发)的一种方言(dialect)之一,另一则为S-plus.一种软件,是集统计分析与图形直观显示于一体.R作为一个计划(project)
2、,最早(1995年)是由Auckland大学统计系的Robert Gentleman和Ross Ihaka开始编制,目前由核心开发小组(R Development Core Team 以后用R DCT表示)维护,他们完全自愿、工作努力负责,并将全球优秀的统计应用软件打包提供给我们。我们可以通过计划的网站(http:/www.r-project.org)了解有关的最新信息和使用说明,得到最新版本的软件和基于的应用统计软件包.为为什什么么要要学学习习语语言言是完全免费的!而S-Plus尽管是非常优秀的统计分析软件,可是你需要支付一笔$US.R可以在运行于UNIX,Windows和Macintosh
3、的操作系统上.R嵌入了一个非常实用的帮助系统.R具有很强的作图能力.我们能将程序容易地移植到S-Plus程序中,反之的许多过程直接或稍作修改即可用于.通过语言的许多内嵌统计函数,很容易学习和掌握R语言的语法.我们可以编制自己的函数来扩展现有的语言(这就是为什么它在不断升级完善!).R主页主页:http:/www.r-project.orgCRAN(Comprehensive R Archive Network),http:/cran.r-project.orgCRAN的镜像站点的镜像站点 http:/cran.r-project.org/mirrors.htmlUCLA提供的关于R与S-Plu
4、s的联接,具有搜索功能 http:/statcomp.ats.ucla.edu/splus/default.htm李东风主页提供了的Windows版本 http:/ http:/rbbs.biosino.org/Rbbs/forums/list.page 的网站资源CRAN提供了许多便于统计分析的宏包:stable -稳妥(分布)广义回归分析http:/cran.r-project.org/src/contrib/PACKAGES.htmltseries 时间序列分析 VaR 风险值分析matrix 矩阵运算cinterface C与R的接口foreign 读写由S,Minitab,SAS,S
5、PSS,Stata等软件的数据normix 混合正态分布分析nortest 正态分布的Anderson-Darling检验MCMCpack 基于Gibbs抽样的MCMC抽样方法 fracdiff 分数差分模型的极大似然估计 还有很多统计分析软件包中文资料中文资料A Chinese translation of the manual“An introduction to R”by Guohui Ding(PDF,homepage).“R reference card”:original by Tom Short,translation by Sizhe Liu(PDF).“Frequently
6、asked questions”by Sizhe Liu(PDF,2008-08-04).A collection of FAQs and answers from Chinese R discussion forums.Note that this is an independent collection,this is not a translation of the official R FAQs.“Statistics and R Reading Notes”by Junxiao Xu(RAR),including material on base R,math and statist
7、ics,experimental design,linear regression,ANOVA,non-parametric analysis,epi,time-series analysis,machine learning,Bayesian analysis,HMMs,and graphs.英文资料“Using R for Data Analysis and Graphics-Introduction,Examples and Commentary”by John Maindonald(PDF,data sets and scripts are available at JMs homep
8、age).“Simple R”by John Verzani(PDF,data sets,various PDF,PS and a browsable HTML version are available at the Simple R homepage).“Practical Regression and Anova using R”by Julian Faraway(PDF,data sets and scripts are available at the book homepage).The Web Appendix to the book“An R and S-PLUS Compan
9、ion to Applied Regression”by John Fox contains information about using S(R and S-PLUS)to fit a variety of regression models.“An Introduction to S and the Hmisc and Design Libraries”by Carlos Alzola and Frank E.Harrell,especially of interest to SAS users,users of the Hmisc or Design packages,or R use
10、rs interested in data manipulation,recoding,etc.(PDF)“Statistical Computing and Graphics Course Notes”by Frank E.Harrell,includes material on S,LaTeX,reproducible research,making good graphs,brief overview of computer languaes,etc.(PDF).“An Introduction to R:Software for Statistical Modelling&Comput
11、ing”by Petra Kuhnert and Bill Venables(ZIP 3.8MB):A 360 page PDF document of lecture notes in combination with the data sets and R scripts used in the manuscript.“Introduction to the R Project for Statistical Computing for Use at the ITC”by David Rossiter(PDF).“Analysis of Epidemiological Data Using
12、 R and Epicalc”by Virasakdi Chongsuvivatwong(PDF).“Statistics Using R with Biological Examples”by Kim Seefeld and Ernst Linder(PDF).“IcebreakeR”by Andrew Robinson(PDF,2008-05-08).“Applied Statistics for Bioinformatics Using R”by Wim Krijnen(PDF,2009-11-17,278 pages).S-PlusS-Plus与与R R初步比较初步比较 丰富的数据类型
13、(向量、数组、列表、对象等)特别有利于实现新的统计算法。S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。其交互式运行方式及强大的图形及交互图形功能使得我们可以方便的探索数据。目前S语言的实现版本主要是S-PLUS。它基于S语言,并由MathSoft公司的统计科学部进一步完善。作为统计学家及一般研究人员的通用方法工具箱,S-PLUS强调图形演示、探索性数据分析、统计方法、开发新统计工具的计算方法,以及可扩展性。S-PLUS可以直接用来进行标准的统计分析得到所需结果,但是它的主要的特点是它可以交互地从各个方面去发现数据中的信息,并可以很容易地实现一个新的统计方法
14、。S-PLUS有微机版本和工作站版本,它是一个商业软件。Auckland大学的Robert Gentleman 和 Ross Ihaka 及其他志愿人员开发了一个R系统,其语法形式与S语言基本相同,但实现不同,两种语言的程序有一定的兼容性。R是一个GPL自由软件,现在的版本是2.10.1版,它比S-PLUS 还少些功能,但已经具有了很强的实用性。本课程中尽量介绍S-PLUS和R都能使用的功能,以R为主。下面我们用S统称S-PLUS和R。R的运行平台R_GUI启动R,我们看到R GUI(graphic users interface)的主窗口,它由三部分组成主菜单 工具条 R console(R
15、的运行窗口)R console你的主要工作是在这里通过发布命令来完成的,包括数据集的建立,数据的分析,作图等.在这里你可以得到在线帮助help()得到相应函数的帮助,例如help(plot)help.start()HTML格式的关于R的帮助文件demo()得到R提供的几个示例;demo(fm)q()退出R工具条介绍Source R code Load image Save imageCopy and PasteStop current computationSource R code 执行R文件(*.R或*.r)Save image 保存工作空间,文件名为*.RDataLoad image 打
16、开已有的工作空间Stop current computation 中止当前计算(由于超时等原因)(打开程序脚本打开程序脚本)(载入映象载入映象)(保存映象保存映象)(打印打印)(中断目前的计算中断目前的计算)主菜单介绍(相应有中文对照)S的基本界面是一个交互式命令窗口,命令提示符是一个大于号,命令的结果马上显示在命令下面。二、应用实例二、应用实例S命令主要有两种形式:表达式或赋值运算(用 x11()可以打开一个作图窗口。然后,输入以下语句:x1=0:100 x2=x1*2*pi/100 Y=sin(x2)plot(x2,Y,type=l)plot(x2,Y,type=s,main=画图练习,s
17、ub=好好练,xlab=x轴,ylab=y轴)这些语句可以绘制正弦曲线图。其中,“x=seq(-1,2,0.01)Y=exp(2*x)+sin(3*x2)plot(x,Y,type=l)简单统计量简单统计量sum,mean,var,sd,min,max,range,median,IQR(四分位间距)等为统计量,sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等。下面我们看一看S的统计功能:marks mean(marks)sd(marks)median(marks)min(marks)max(marks)boxplot(marks)第
18、一个语句输入若干数据到一个向量,函数c()用来把数据组合为一个向量。后面用了几个函数来计算数据的均值、标准差、中位数、最小值、最大值。最后的函数绘制数据的盒形图。例中sd()是R中才有的函数,在S-PLUS中要用sqrt(var()来计算。在S命令方式中要显示一个表达式的值只要键入它。中位数(median)1.排序后处于中间位置上的值MMe e50%50%2.不受极端值的影响不受极端值的影响3.主要用于顺序数据,也可用数值型数据,但不能主要用于顺序数据,也可用数值型数据,但不能用于分类数据用于分类数据4.各变量值与中位数的离差绝对值之和最小,即各变量值与中位数的离差绝对值之和最小,即四分位数(
19、quartile)1.排序后处于25%和75%位置上的值2.不受极端值的影响3.主要用于顺序数据,也可用于数值型数据,但不能用于分类数据QQL LQQMMQQU U25%25%25%25%四分位差(quartile deviation)1.对顺序数据离散程度的测度2.也称为内距或四分间距3.上四分位数与下四分位数之差 QD=QU QL4.反映了中间50%数据的离散程度5.不受极端值的影响6.用于衡量中位数的代表性未分组数据箱线图(box plot)1.用于显示未分组的原始数据的分布2.箱线图由一组数据的5个特征值绘制而成,它由一个箱子和两条线段组成3.其绘制方法是:首先找出一组数据的5个特征值
20、,即最最大大值值、最最小小值值、中中位位数数Me 和两个四四分分位位数数(下四分位数QL和上四分位数QU)连接两个四分(位)数画出箱子,再将两个极值点与箱子相连接 未分组数据单批数据箱线图(箱线图的构成)中位数中位数4 46 68 810101212QQU UUQQL LLX X最大值最大值最大值X X最小值最小值最小值简单箱线图简单箱线图简单箱线图简单箱线图可以把若干行命令保存在一个文本文件中,然后用source 函数来运行整个文件:source(E:/lian.R)source(E:/lian1.txt)注意字符串中的反斜杠。用sink()函数可以把以后的输出从屏幕窗口转向到一个外部文本文
21、件,例如:sink(“E:/lianresult.txt)要恢复输出到屏幕窗口,使用:sink()在S中还可以用“?”号后面跟要查询的函数来显示帮助信息,例如:?c?=例例2:计计算算6,6,4,4,7,7,8 8,1010的的均均值值和和标标准准差差,把把若若干干行行命命令令保保存存在在一一个个文文本本文文件件(比比如如E:lian2.R)中中,然后用然后用source 函数来运行整个文件。函数来运行整个文件。a-c(10,6,4,7,8)b-mean(a)c?fivenum fivenum(0:100)fivenum(1:100)fivenum(c(rnorm(100)fivenum(c(
22、rnorm(100),-1:1/0)实验作业实验作业1、查询stem的函数帮助信息,并用帮助文件中的案例进一步学习.绘制 12 12 11 10 9 10 12 的茎叶图。2、绘制y=x3+sin(x)*cos(x)的函数图,并加注图例“自变量X”、“函数Y”、“示意图”.要求:需给出程序、结果,存成要求:需给出程序、结果,存成word文档文档星期日前发送到星期日前发送到 ftp:/10.1.70.33 用户名:用户名:rsoft 密码:密码:123456一个R的演示会话见相应文件作为阅读材料附录一 S常用函数参考 一、数据管理一、数据管理 vector:向量 numeric:数值型向量 lo
23、gical:逻辑型向量 character;字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 length:求长度 subset:求子集 rep:重复 NA:缺失值 seq,from:to,sequence:等差序列 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性 mode,typeof:对象存储模式与类型 names:对象的名字属性 二、字符串处理 character:字符型向量 nchar:字符数substr:取子串 format,formatC:把对象用格式转换为字符串 p
24、aste,strsplit:连接或拆分 charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配与替换 三、复数 complex,Re,Im,Mod,Arg,Conj:复数函数 四、因子 factor:因子 codes:因子的编码 levels:因子的各水平的名字nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子 table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对“不规则”数组应用函数 数学 一、计算+,-,*,/,%,%/%:四则运算 ceiling,floor,round,signif
25、,trunc,zapsmall:舍入 max,min,pmax,pmin:最大最小值 range:最大值和最小值 sum,prod:向量元素和,积 cumsum,cumprod,cummax,cummin:累加、累乘 sort:排序 approx和approx fun:插值 diff:差分 sign:符号函数 二、数学函数二、数学函数(I)abs,sqrt:绝对值,平方根 log,exp,log10,log2:对数与指数函数 sin,cos,tan,asin,acos,atan:三角函数 sinh,cosh,tanh,asinh,acosh:双曲函数 beta,lbeta,gamma,lgam
26、ma,digamma,trigamma,tetragamma,pentagamma,choose,lchoose:与贝塔函数、伽玛函数、组合数有关的特殊函数 fft,mvfft,convolve:富利叶变换及卷积 polyroot:多项式求根 poly:正交多项式 spline,splinefun:样条差值 besselI,besselK,besselJ,besselY,gammaCody:Bessel函数 deriv:简单表达式的符号微分或算法微分 二、数学函数二、数学函数(II)三、数组三、数组array:建立数组 matrix:生成矩阵 data.matrix:把数据框转换为数值型矩阵
27、lower.tri:矩阵的下三角部分 mat.or.vec:生成矩阵或向量 t:矩阵转置 cbind:把列合并为矩阵 rbind:把行合并为矩阵 diag:矩阵对角元素向量或生成对角矩阵 aperm:数组转置 nrow,ncol:计算数组的行数和列数 dim:对象的维向量 dimnames:对象的维名 row/colnames:行名或列名%*%:矩阵乘法 crossprod:矩阵交叉乘积(内积)三、数组三、数组crossprod:矩阵交叉乘积(内积)outer:数组外积 kronecker:数组的Kronecker积 apply:对数组的某些维应用函数 tapply:对“不规则”数组应用函数
28、sweep:计算数组的概括统计量 aggregate:计算数据子集的概括统计量 scale:矩阵标准化 matplot:对矩阵各列绘图 cor:相关阵或协差阵 Contrast:对照矩阵 row:矩阵的行下标集 col:求列下标集 四、线性代数 solve:解线性方程组或求逆 eigen:矩阵的特征值分解 svd:矩阵的奇异值分解 backsolve:解上三角或下三角方程组 chol:Choleski分解 qr:矩阵的QR分解 chol2inv:由Choleski分解求逆 五、逻辑运算 ,=,=,!=:比较运算符 !,&,&,|,|,xor():逻辑运算符 logical:生成逻辑向量 all
29、,any:逻辑向量都为真或存在真 ifelse():二者择一 match,%in%:查找 unique:找出互不相同的元素 which:找到真值下标集合 duplicated:找到重复元素 六、优化及求根六、优化及求根optimize,uniroot,polyroot:一维优化与求根程序设计 一、控制结构一、控制结构 if,else,ifelse,switch:分支 for,while,repeat,break,next:循环 apply,lapply,sapply,tapply,sweep:替代循环的函数。二、函数 function:函数定义 source:调用文件call:函数调用.C,.
30、Fortran:调用C或者Fortran子程序的动态链接库。Recall:递归调用 browser,debug,trace,traceback:程序调试options:指定系统参数 missing:判断虚参是否有对应实参 nargs:参数个数 stop:终止函数执行 二、函数 on.exit:指定退出时执行 eval,expression:表达式计算 system.time:表达式计算计时 invisible:使变量不显示 menu:选择菜单(字符列表菜单)其它与函数有关的还有:delay,environment,formals,format.info,interactive,is.finit
31、e,is.function,is.language,is.recursive,match.arg,match.call,match.fun,model.extract,name,parse,substitute,sys.parent,warning,machine。三、输入输出 cat,print:显示对象sink:输出转向到指定文件 dump,save,dput,write:输出对象scan,read.table,load,dget:读入 四、工作环境四、工作环境ls,objects:显示对象列表 rm,remove:删除对象 q,quit:退出系统.First,.Last:初始运行函数与退
32、出运行函数。options:系统选项?,help,help.start,apropos:帮助功能 data:列出数据集 统计计算 一、统计分布 每一种分布有四个函数:ddensity(密度函数),p分布函数,q分位数函数,r随机数函数。比如,正态分布dnorm,pnorm,qnorm,rnorm下列各分布前面加前缀d、p、q或r就构成函数名:norm:正态,t:t分布,f:F分布,chisq:卡方(包括非中心)unif:均匀,统计计算 一、统计分布 下列各分布前面加前缀d、p、q或r就构成函数名:exp:指数,weibull:威布尔,gamma:伽玛,beta:贝塔 lnorm:对数正态,lo
33、gis:逻辑分布,cauchy:柯西,binom:二项分布,geom:几何分布,hyper:超几何,nbinom:负二项,pois:泊松 signrank:符号秩,wilcox:秩和,tukey:学生化极差 二、简单统计量 sum,mean,var,sd,min,max,range,median,IQR(四分位间距)等为统计量,sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等。三、统计检验 R中已实现的有chisq.test,prop.test,t.test。四、多元分析 cor,cov.wt,var:协方差阵及相关阵计算biplot,biplot.princomp:多元数据biplot图cancor:典则相关 princomp:主成分分析 hclust:谱系聚类 kmeans:k-均值聚类 cmdscale:经典多维标度 其它有dist,mahalanobis,cov.rob。五、时间序列五、时间序列ts:时间序列对象 diff:计算差分 time:时间序列的采样时间 window:时间窗 六、统计模型 lm:线性模型glm:广义线性模型aov:方差分析附录二 R运行平台介绍参见 R运行平台.ppt
限制150内