统计建模与R语言mathth

上传人:仙*** 文档编号:191921698 上传时间:2023-03-05 格式:PPT 页数:23 大小:102.50KB
收藏 版权申诉 举报 下载
统计建模与R语言mathth_第1页
第1页 / 共23页
统计建模与R语言mathth_第2页
第2页 / 共23页
统计建模与R语言mathth_第3页
第3页 / 共23页
资源描述:

《统计建模与R语言mathth》由会员分享,可在线阅读,更多相关《统计建模与R语言mathth(23页珍藏版)》请在装配图网上搜索。

1、2023-3-51R的语法与数据结构v语法符号v 命令或运算提示符v+续行符基本算术运算v+加号 v-减号v*乘号v/除号v 乘方赋值符v=或 3+53-53/535x=5?plothelp(plot)2023-3-53v向量向量是R中最为基本的类型一个向量中元素的类型必须相同,包括v数值型整型单精度实型双精度实型v逻辑型v复值型v字符型2023-3-54建立向量的方法(函数)vseq()或:若向量(序列)具有较为简单的规律vrep()若向量(序列)具有较为复杂的规律vc()若向量(序列)没有什么规律例子:1:10seq(1,10,by=0.5)seq(1,10,length=21)rep(2

2、:5,2)rep(2:5,rep(2,4)x=c(42,7,64,9)length(x)2023-3-55向量运算中的循环法则(recycling rule)1:2+1:41:4+1:7111212224231344246 1112222413336244483515646268737102023-3-56向量的下标(index)与向量子集(元素)的提取v正的下标 提取向量中对应的元素v负的下标 去掉向量中对应的元素v逻辑运算 提出向量中元素的值满足条件的元素注:R中向量的下标从1开始,这与通常的统计或数学软件一致而象C语言等计算机高级语言的向量下标则从0开始!例子:x=c(42,7,64,9

3、)x1x-2xc(1,4)2023-3-57x10#值大于10的元素逻辑值 1 TRUE FALSE TRUE FALSExx10#值大于10的元素 1 42 64xx10#产生(0,1)上100个均匀分布随机数y=runif(100,min=0,max=1)sum(ysum(yyx=c(42,7,64,9)y=1:4=data.frame(cbind(INDEX=y,VALUE=x)INDEX VALUE1 1422 2 73 3644 4 9注 .df 只是为了提醒自己是一个数据框架 INDEX和VALUE是重新命名的向量名字2023-3-510数据框架子集的提出取v格式 foorow,c

4、olumn其中 foo 数据框架的名称 row 需要提出取的行号 column 需要提出取的行号v例子(续上一例)z.df1,#提取第一个观测(第一行)INDEX VALUE 1 1 42 z.df,1#提取第一列(第一个变量的值)1 1 2 3 4 z.df2,1#提取第二行第一列的元素1 22023-3-511v列表(list)复杂的数据分析时,仅有向量与数据框架还不够有时需要生成包含不同类型的对象R的列表(list)就是包含任何类型的对象例子:foo=list(x=1:6,y=matrix(1:4,nrow=2)foo$x 1 1 2 3 4 5 6$y ,1,2 1,1 3 2,2 4

5、2023-3-512列表子集的提出取v提取一个子对象如foo的x,下面三种方式等价 foo$xfoo1foo1 例子foo$yfoo2foo2foo12foo$y2foo$y42023-3-513v条件语句 作用:避免除零或负数的对数等数学问题形式1:if (条件)表达式1 else 表达式2形式2 常优于形式1!ifelse(条件,yes,no)试比较下面的三个结果:x=c(6:-4)sqrt(ifelse(x=0,x,NA)ifelse(x=0,sqrt(x),NA)if(x=0)sqrt(x)else NA2023-3-514v循环(loops)for()#若知道终止条件for(变量 i

6、n 向量)表达式while()#若无法知道运行次数while(条件)表达式两者通常可以转换例1试比较两种方法for(i in 1:5)print(1:i)i=1while(i 和+,而源程序中是不需要的!2023-3-516 n=3044 a=c(rep(1,2*n),rep(2,2*n)t=c(rep(1,n),rep(2,n),rep(2,n),rep(1,n)g=rep(rep(1:1522,rep(2,1522),4)y=rnorm(4*n,mean=4.13,sd=0.75)ybar=data.frame(A=factor(a),G=factor(g),+T=factor(t),In

7、tensity=y)attach(ybar)ybar1:10,#查看ybar的前10行 =matrix(0,1522,8,byrow=TRUE)=matrix(0,1522,4,byrow=TRUE)for(i in 1:1522)+=aov(Intensity A+T+A*T,+sub=G=i)+res.mati,=)#保存ANOVA分析的残差+coef.mati,=)#保存ANOVA分析的方差系数+res.mat1:10,#查看残差的前10行 coef.mat1:10,#查看方差系数的前10行2023-3-517v向量化(vectorization)循环(loops)很有用,但如果能将一组

8、命令向量化,则应尽量避免循环,原因在于vC是一种编译语言,其效率是很高的;R则是一种解释语言。在计算时,通常C要比R快100倍。v在R中充分使用向量化,因为R会立即调用C进行运算,因而大大提高计算的效率!例子-见Ko-Kang Wangs“R Programming Workshop”,pp9-11(Gamma函数作图)vVector_1.R 没有使用向量和循环的源程序vVector_2.R 使用for循环改进后的源程序vVector_3.R 使用向量化后源程序2023-3-518v函数函数是一系列语句的组合,在R中可以写出自己的函数形式:变量名=function(变量列表)函数体函数引用:变

9、量名(变量的值)函数可以递归引用,但不提倡!例子 使用gamma函数求n!factorial=function(n)+if(n=0)gamma(n+1)+else print(“Please input a positive integer!)+factorial(6)factorial(-6)2023-3-519用于处理错误的函数 用于处理用户输入不正确的类型而可能出现的错误vwarning()若错误不严重以至影响整个计算vstop()若错误可能导致计算中止vprint()显示必要的信息vformatC()数值作为字符串输出vcat()字符串联,可以插入n(换行)及t(tab键)vpaste

10、()字符粘贴(非字符型自动转换)例子:cat(R,is,a good,software.n)formatC(1/3,format=f,digits=4)formatC(1/3,format=e,digits=4)paste(1:12)#与as.character(1:12)等价paste(A,1:6,sep=)paste(today is,date()2023-3-520R中的编程v编程的重要性一个统计软件(包)应该包罗万象所有统计方法或技术,可以完成所有的任务?这是一种错误的观点!v太贵!v费时!vSAS是一个世界上最为优秀的统计分析软件之一,但!当然SAS具体编程能力,而SPSS更糟!v通

11、过编程可以实现(开发)满足自己需要的函数或宏包 2023-3-521v好的编程习惯为了他人,更为你本人!你的程序应该具有v可读性(readability)v可理解性(understandability)习惯之一:行前缩进(Indentation),在此推荐使用软件vWinEdt =已开发了基于WinEdt的R使用平台v(X)Emacs=已开发了基于(X)Emacs的R使用平台vUltraEdit习惯之二:增加注释(Commenting),它是你的帮助 R中使用#作为注释语句的开始.习惯之三:变量的命名,使用意义明确的名字,切忌使用人或宠物的名字2023-3-522例子 缩进 for(i in

12、1:1522)+-aov(Intensity A+T+A*T,+sub=G=i)+res.mati,-)+coef.mati,for(i in 1:1522)+-aov(Intensity A+T+A*T,+sub=G=i)+res.mati,-)+coef.mati,-)+2023-3-523v实例演示1Julian Faraway提供的一个简短的入门Introduction to R v使用 R GUIv使用 R Commanderv使用 R_XEmacs Further reference:Moores The Basic Practice of Statistics,Second Edition(Freeman,2000),2.John Verzani 提供的统计学入门SimpleR-Using R for Introductory Statistics v使用R_WinEdt

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!