Lecture1 入门实例_第1页
Lecture1 入门实例_第2页
Lecture1 入门实例_第3页
Lecture1 入门实例_第4页
Lecture1 入门实例_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验目的实验内容初步学习如何应用R软件解决统计问题1、R 简介2、应用实例3、实验作业入门实例1一、 R简介为什么要学习R语言R的资源 资料与文献 网站 统计分析软件包S-Plus和R的初步比较 R的运行平台 R_GUI R_Commander R_WinEdt R_ESS+XEmacs 2R的无私奉献者Bill Venables Robert Gentleman Ross Ihaka 3R是一个开放(GPL)的统计编程环境一种语言,是语言(由AT&T Bell实验室的Rick Becker, John Chambers,Allan Wilks开发)的一种方言(dialect) 之一,另一则为

2、S-plus.一种软件,是集统计分析与图形直观显示于一体.R作为一个计划(project),最早(1995年)是由Auckland大学统计系的Robert Gentleman和Ross Ihaka开始编制,目前由核心开发小组(R Development Core Team 以后用R DCT表示)维护,他们完全自愿、工作努力负责,并将全球优秀的统计应用软件打包提供给我们。我们可以通过计划的网站()了解有关的最新信息和使用说明,得到最新版本的软件和基于的应用统计软件包. 为什么要学习语言4是完全免费的! 而S-Plus尽管是非常优秀的统计分析软件,可是你需要支付一笔$US .R可以在运行于UNIX

3、, Windows和Macintosh的操作系统上 .R嵌入了一个非常实用的帮助系统.R具有很强的作图能力.我们能将程序容易地移植到S-Plus程序中,反之的许多过程直接或稍作修改即可用于.通过语言的许多内嵌统计函数,很容易学习和掌握R语言的语法.我们可以编制自己的函数来扩展现有的语言(这就是为什么它在不断升级完善!).5R主页: CRAN (Comprehensive R Archive Network), CRAN的镜像站点 UCLA提供的关于R与S-Plus的联接,具有搜索功能 李东风主页提供了的Windows版本 如果使用FTP软件(如Cuteftp)则推荐使用(匿名访问) 的网站资源

4、6CRAN提供了许多便于统计分析的宏包:stable - 稳妥(分布)广义回归分析tseries 时间序列分析 VaR 风险值分析matrix 矩阵运算cinterface C与R的接口foreign 读写由S, Minitab, SAS, SPSS, Stata等软件的数据normix 混合正态分布分析nortest 正态分布的Anderson-Darling检验MCMCpack 基于Gibbs抽样的MCMC抽样方法 fracdiff 分数差分模型的极大似然估计 还有很多统计分析软件包7S-Plus与R初步比较 丰富的数据类型(向量、数组、列表、对象等)特别有利于实现新的统计算法。S语言是由

5、AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。其交互式运行方式及强大的图形及交互图形功能使得我们可以方便的探索数据。目前S语言的实现版本主要是S-PLUS。它基于S语言,并由MathSoft公司的统计科学部进一步完善。8作为统计学家及一般研究人员的通用方法工具箱,S-PLUS强调图形演示、探索性数据分析、统计方法、开发新统计工具的计算方法,以及可扩展性。S-PLUS可以直接用来进行标准的统计分析得到所需结果,但是它的主要的特点是它可以交互地从各个方面去发现数据中的信息,并可以很容易地实现一个新的统计方法。S-PLUS有微机版本和工作站版本,它是一个商业软件。9Auc

6、kland大学的Robert Gentleman 和 Ross Ihaka 及其他志愿人员开发了一个R系统,其语法形式与S语言基本相同,但实现不同,两种语言的程序有一定的兼容性。R是一个GPL自由软件,现在的版本是2.4.1版,它比S-PLUS 还少些功能,但已经具有了很强的实用性。本课程中尽量介绍S-PLUS和R都能使用的功能,以R为主。下面我们用S统称S-PLUS和R。 10R的运行平台R_GUI启动R,我们看到R GUI (graphic users interface)的主窗口, 它由三部分组成主菜单 工具条 R console (R的运行窗口)R console你的主要工作是在这里通

7、过发布命令来完成的,包括数据集的建立,数据的分析,作图等.在这里你可以得到在线帮助help() 得到相应函数的帮助,例如help(plot)help.start() HTML格式的关于R的帮助文件demo() 得到R提供的几个示例; demo(fm)q() 退出R11工具条介绍Source R codeLoad imageSave imageCopy and PasteStop current computationSource R code 执行R文件(*.R或*.r)Save image 保存工作空间,文件名为*.RDataLoad image 打开已有的工作空间Stop current

8、computation 中止当前计算(由于超时等原因) (打开程序脚本) (载入映象) (保存映象) (打印) (中断目前的计算) 12主菜单介绍(相应有中文对照)13S的基本界面是一个交互式命令窗口,命令提示符是一个大于号,命令的结果马上显示在命令下面。二、应用实例S命令主要有两种形式:表达式或赋值运算(用 x11() 可以打开一个作图窗口。然后,输入以下语句: x1 x2 y plot(x2,y, type=l) plot(x2,y,type=“s”,main=“画图练习”,sub=“好好练, xlab=x轴,ylab=y轴)151617这些语句可以绘制正弦曲线图。其中,“ x1 x y

9、plot(x,y, type=l) 1920简单统计量sum, mean, var, sd, min, max, range, median, IQR(四分位间距)等为统计量,sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等。21下面我们看一看S的统计功能: marks mean(marks) sd(marks) median(marks) min(marks) max(marks) boxplot(marks) 22第一个语句输入若干数据到一个向量,函数c()用来把数据组合为一个向量。后面用了几个函数来计算数据的均值、标准差、中位

10、数、最小值、最大值。最后的函数绘制数据的盒形图。例中sd()是R中才有的函数,在S-PLUS中要用sqrt(var()来计算。在S命令方式中要显示一个表达式的值只要键入它。23中位数(median)排序后处于中间位置上的值Me50%50%不受极端值的影响主要用于顺序数据,也可用数值型数据,但不能用于分类数据各变量值与中位数的离差绝对值之和最小,即24四分位数(quartile)排序后处于25%和75%位置上的值不受极端值的影响主要用于顺序数据,也可用于数值型数据,但不能用于分类数据QLQMQU25%25%25%25%25四分位差(quartile deviation)对顺序数据离散程度的测度也

11、称为内距或四分间距上四分位数与下四分位数之差 QD = QU QL反映了中间50%数据的离散程度不受极端值的影响用于衡量中位数的代表性26未分组数据箱线图(box plot)用于显示未分组的原始数据的分布箱线图由一组数据的5个特征值绘制而成,它由一个箱子和两条线段组成其绘制方法是:首先找出一组数据的5个特征值,即最大值、最小值、中位数Me 和两个四分位数(下四分位数QL和上四分位数QU)连接两个四分(位)数画出箱子,再将两个极值点与箱子相连接 27未分组数据单批数据箱线图(箱线图的构成)中位数4681012QUQLX最大值X最小值简单箱线图28可以把若干行命令保存在一个文本文件(比如E:/WO

12、RK/MYPROG.S)中,然后用source 函数来运行整个文件: source(E:/lian.R)注意字符串中的反斜杠。用sink()函数可以把以后的输出从屏幕窗口转向到一个外部文本文件,例如: sink(“E:/WORK/MYPROG.txt)要恢复输出到屏幕窗口,使用: sink()在S中还可以用“?”号后面跟要查询的函数来显示帮助信息,例如: ?c ?=29例2:计算6, 4, 7, 8,10的均值和标准差,把若干行命令保存在一个文本文件(比如E:lian1.R)中,然后用source 函数来运行整个文件。a - c(10, 6, 4, 7, 8) b-mean(a) c ?fiv

13、enum fivenum(0:100) fivenum(1:100)fivenum(c(rnorm(100) fivenum(c(rnorm(100),-1:1/0)32实验作业1、查询stem的函数帮助信息,并用帮助文件中的案例进一步学习.绘制 12 12 11 10 9 10 12 的茎叶图。2、绘制y=x3 +sin(x)*cos(x)的函数图,并加注图例“自变量X”、“函数Y”、“示意图”.要求:需给出程序、结果,存成word文档星期日前发送到 用户名:ryy 密码: ryy33一个R的演示会话见相应文件作为阅读材料34附录一 S常用函数参考 一、数据管理 vector:向量 nume

14、ric:数值型向量 logical:逻辑型向量 character;字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 length:求长度 subset:求子集 rep:重复 NA:缺失值 seq,from:to,sequence:等差序列 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性 mode,typeof:对象存储模式与类型 names:对象的名字属性 35二、字符串处理 character:字符型向量 nchar:字符数substr:取子串 format,formatC:

15、把对象用格式转换为字符串 paste,strsplit:连接或拆分 charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配与替换 三、复数 complex,Re,Im,Mod,Arg,Conj:复数函数 36四、因子 factor:因子 codes:因子的编码 levels:因子的各水平的名字nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子 table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对“不规则”数组应用函数 37数学 一、计算 +, -, *, /, , %, %/%:四则运算

16、ceiling,floor,round,signif,trunc,zapsmall:舍入 max,min,pmax,pmin:最大最小值 range:最大值和最小值 sum,prod:向量元素和,积 cumsum,cumprod,cummax,cummin:累加、累乘 sort:排序 approx和approx fun:插值 diff:差分 sign:符号函数 38二、数学函数(I) abs,sqrt:绝对值,平方根 log, exp, log10, log2:对数与指数函数 sin,cos,tan,asin,acos,atan:三角函数 sinh,cosh,tanh,asinh,acosh:

17、双曲函数 beta,lbeta,gamma,lgamma,digamma,trigamma,tetragamma,pentagamma,choose ,lchoose:与贝塔函数、伽玛函数、组合数有关的特殊函数39 fft,mvfft,convolve:富利叶变换及卷积 polyroot:多项式求根 poly:正交多项式 spline,splinefun:样条差值 besselI,besselK,besselJ,besselY,gammaCody:Bessel函数 deriv:简单表达式的符号微分或算法微分 二、数学函数(II)40三、数组array:建立数组 matrix:生成矩阵 data

18、.matrix:把数据框转换为数值型矩阵 lower.tri:矩阵的下三角部分 mat.or.vec:生成矩阵或向量 t:矩阵转置 cbind:把列合并为矩阵 rbind:把行合并为矩阵 diag:矩阵对角元素向量或生成对角矩阵 aperm:数组转置 nrow, ncol:计算数组的行数和列数 dim:对象的维向量 dimnames:对象的维名 row/colnames:行名或列名 %*%:矩阵乘法 crossprod:矩阵交叉乘积(内积)41三、数组crossprod:矩阵交叉乘积(内积) outer:数组外积 kronecker:数组的Kronecker积 apply:对数组的某些维应用函

19、数 tapply:对“不规则”数组应用函数 sweep:计算数组的概括统计量 aggregate:计算数据子集的概括统计量 scale:矩阵标准化 matplot:对矩阵各列绘图 cor:相关阵或协差阵 Contrast:对照矩阵 row:矩阵的行下标集 col:求列下标集 42四、线性代数 solve:解线性方程组或求逆 eigen:矩阵的特征值分解 svd:矩阵的奇异值分解 backsolve:解上三角或下三角方程组 chol:Choleski分解 qr:矩阵的QR分解 chol2inv:由Choleski分解求逆 43五、逻辑运算 ,=,=,!=:比较运算符 !,&,&,|,|,xor(

20、):逻辑运算符 logical:生成逻辑向量 all,any:逻辑向量都为真或存在真 ifelse():二者择一 match,%in%:查找 unique:找出互不相同的元素 which:找到真值下标集合 duplicated:找到重复元素 44六、优化及求根optimize,uniroot,polyroot:一维优化与求根程序设计 一、控制结构 if,else,ifelse,switch:分支 for,while,repeat,break,next:循环 apply,lapply,sapply,tapply,sweep:替代循环的函数。 45二、函数 function:函数定义 source

21、:调用文件call:函数调用 .C,.Fortran:调用C或者Fortran子程序的动态链接库。 Recall:递归调用 browser,debug,trace,traceback:程序调试options:指定系统参数 missing:判断虚参是否有对应实参 nargs:参数个数 stop:终止函数执行 46二、函数 on.exit:指定退出时执行 eval,expression:表达式计算 system.time:表达式计算计时 invisible:使变量不显示 menu:选择菜单(字符列表菜单) 其它与函数有关的还有:delay,environment ,formals,interact

22、ive,is.finite,is.function,is.language,is.recursive ,match.arg,match.call,match.fun,model.extract,name,parse,substitute,sys.parent ,warning,machine。 47三、输入输出 cat,print:显示对象sink:输出转向到指定文件 dump,save,dput,write:输出对象scan,read.table,load,dget:读入 48四、工作环境ls,objects:显示对象列表 rm, remove:删除对象 q,quit:退出系统 .First,.Last:初始运行函数与退出运行函数。options:系统选项 ?,help,help.start,apropos:帮助功能 data:列出数据集 49统计计算 一、统计分布 每一种分布有四个函数: ddensity(密度函数),p分布函数, q分位数函数,r随机数函数。 比如,正

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论