资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,R语言与统计分析,上海师范大学,(,2004年2月,),*, Gentleman,RossIhaka,4,为什么要,学,学习R语,言,言,5,是完全,免,免费的!,!,! 而S-Plus尽管是,非,非常优秀,的,的统计分,析,析软件,,可,可是你需,要,要支付一,笔,笔$US.,R可以在,运,运行于UNIX,Windows,和,和Macintosh的操,作,作系统上.,R嵌入了,一,一个非常,实,实用的帮,助,助系统.,R具有很,强,强的作图,能,能力.,我们将,程,程序容易,地,地移植到S-Plus程序,中,中,反之,的许多,过,过程直接,或,或稍作修,改,改用于.,通过语,言,言的许多,内,内嵌统计,函,函数,很,容,容易学习,和,和掌握R,语,语言的语,法,法.,我们可以,编,编制自己,的,的函数来,扩,扩展现有,的,的语言(这就是,为,为什么它,在,在不断等,级,级完善!),.,6,网站,的,的资源,7,统计分析,软,软件包,CRAN,提,提供了许,多,多便于统,计,计分析的,宏,宏包:http:/cran.r-project.org/src/contrib/PACKAGES.html,stable- 稳,妥,妥(分布)广义回,归,归分析,tseries, 时间,序,序列分析,VaR, 风险,值,值分析,matrix ,矩,矩阵运,算,算,cinterface C与R,的,的接口,foreign, 读写,由,由S,Minitab,SAS, SPSS,Stata等软件,的,的数据,normix ,混,混合正,态,态分布分,析,析,nortest, 正态,分,分布的Anderson-Darling检,验,验,MCMCpack, 基,于,于Gibbs抽样,的,的MCMC抽样方,法,法,fracdiff, 分,数,数差分模,型,型的极大,似,似然估计,还有很多,8,参考资料,随软件所,附,附pdf,文,文档(help-manuals),随版,本,本更新:,W.N.Venables, D.M.Smith and theR DCT: Introduction to R- NotesonR: AProgrammingEnvironmentforData Analysis and Graphics,2003.http:/bayes.math.montana.edu/Rweb/Rnotes/R.html,R DCT, The REnvironmentforStatisticalComputing and Graphics - ReferenceIndex,2003.,R DCT, RDataImport/Export,2003.,R DCT,R Language Definition,2003,R DCT,WritingR Extensions,2003,9,10,11,近期畅销,书,书:,Peter Dalgaard,IntroductoryStatisticswithR,Springer, 2002,JohnMaindonald,John Braun,Data Analysis and GraphicsUsing R- An Example-basedApproach, CambridgeUniversity Press,2003,JohnFox, AnR and S-Plus Companionto Applied Regression, SagePublications, Inc.,2002,12,R的运行,平,平台-1,R_GUI,启动R,我,我们看到R GUI(graphicusersinterface)的主,窗,窗口,它,它由三部,分,分组成,主菜单,工具条,R console (R,的,的运行窗,口,口),R console,你的主要,工,工作是在,这,这里通过,发,发布命令,来,来完成的,包括数,据,据集的建,立,立,数据,的,的分析,作,作图等.,在这里你,可,可以得到,在,在线帮助,help.start()HTML,格,格式的关,于,于R的帮,助,助文件,help()得到相应,函,函数的帮,助,助,例如help(plot),demo()得到R提,供,供的几个,示,示例,q()退出R,同Matlab类,似,似,用右shift键可以,重,重现以前,的,的命令,13,工具条介,绍,绍,Source Rcode,Loadimage,Saveimage,CopyandPaste,Stopcurrentcomputation,Source Rcode执行R文,件,件(*.R或*.r),Saveimage保存工作,空,空间,文,件,件名为*.RData,Loadimage打开已有,的,的工作空,间,间,Stopcurrentcomputation,中,中止当,前,前计算(,由,由于超时,等,等原因),14,主菜单介,绍,绍,15,R的运行,平,平台-2,R_Commander(帮助文件),作者:JohnFox(jfoxmcmaster.ca),版,本,本,:,:RcmdrVersion0.9-0,安,装,装,Rcmdr,是,是R,的,的,一,一,个,个,宏,宏,包,包,,,,,它,它,还,还,需,需,要,要宏,包,包car的,支,支,持,持,在,加,加,载,载Rcmdr,宏,宏,包,包之,前,前,,,,,需,需,要,要,先,先,安,安,装,装,宏,宏,包,包car,Rcmdr,仅,仅,在,在,单,单,文,文,件,件RGui(SDI),下,下,工,工,作,作,,,,,这,这,可,可,通,通,过,过RGui,的,的Edit=GUIpreferences,进,行,行,设,设,置,置(注:好,象,象均可?),运行,安装宏,包,包car,在RGui下,通,通过Packages=Load packages加,载,载Rcmdr,宏,宏包,16,17,功能,R Commander是,一,一个交,互,互式菜,单,单/对,话,话框系,统,统(menu/dialog-boxinterfaces),,用,用于进,行,行数据,的,的读、,写,写、转,换,换及常,用,用的统,计,计分析,作者,还,还添加,了,了线性,与,与广义,线,线性模,型,型等统,计,计分析,工,工具,结构与,使,使用(,具,具体见Rcmdr的Getting Started部分),R Commander窗,口,口由一,些,些菜单,及,及按钮,组,组成,菜单的,下,下方是,一,一个log/script,窗,窗口,通过菜,单,单的对,话,话框将,命,命令发,送,送到RGUI,中,中,以,完,完成某,一,一项统,计,计分析,这些,命,命令同,时,时在log窗,口,口中显,示,示出来,它们,可,可以被,重,重新编,辑,辑修改,,,,并可,通,通过Rcmdr窗口,右,右下角,的,的Submit按钮,再,再一次,发,发送给R执行,命令指,向,向一个,当,当前的,或,或者活,动,动的数,据,据集.,一,一旦读,入,入一个,新,新的数,据,据集,,它,它就是,活,活动的,注:通过Data=Importdata加载,数,数据集,,,,其名字及,路,路径不能含,有,有中文,而中R GUI中,是,是允许,的,的!,18,R Commander的,菜,菜单,R Commander,菜,菜单树(MenuTree)(点击),R Commander的,信,信息反,馈,馈(information field),19,R的运,行,行平台-3,20,R_WinEdt的,设,设置,设置桌,面,面快击,键,键:,为了同,时,时可以,使,使用LaTeX/CTeX,和,和R_WinEdt,,,,在桌,面,面上复,制,制一个WinEdt,快,快击键,,,,并命,名,名为R_WinEdt;,右击R_WinEdt快击,键,键,选,择,择属性,,,,然后,在,在“目,标,标(T)”中,输,输入,C:CTeXWinEdtWinEdt-C=R-WinEdt-e=r.ini,(并不,必,必须),如,如果每,次,次运行R都想,加,加载某,个,个/些,软,软件包,或,或函数,,,,则可,对,对R主,目,目录下etc,下,下的.Rprofile进,行,行修改,如每,次,次加载simple,宏,宏包就,可,可使用,下,下面的,设,设置,library(simple),options(editor=c:/program files/winedt/winedt,-c=R-WinEdt-edit-e=r.ini-V),21,R_WinEdt界面,22,R_WinEdt菜单,23,R_WinEdt的,特,特点,- 与RGui共同,运,运行,- 具,有,有WinEdt的强,大,大功能(如Delimiter,检,检查,高,高级,搜,搜索,书,书签,宏,缩,缩进,与,与注释,的,的对齐,等,等),-,语,语法,高,高亮,显,显示(Syntax-Highlighting),-,同,同时,可,可以,编,编辑,多,多个R程,序,序,-,设,设置,简,简单,快,快速,的,的按,钮,钮与,快,快击,键,键,-,将,将窗,口,口中,的,的代,码,码(script)发,送,送到R中,运,运行,-WinEdt,中,中选,中,中的,代,代码(code),发,发送,到,到R,中,中运,行,行,-,单,单行,代,代码(script),发,发送,到,到R,中,中运,行,行,-,及,及时,更,更新,历,历史,命,命令,记,记录,文,文件.Rhistory,,,,以,便,便重,复,复使,用,用旧,的,的命,令,令,-,提,提供,衫,衫的,模,模块,如:for(_in_)_,24,R_WinEdt,菜,菜,单,单与,热,热键,#CommandHotKeyMenuIcon,说,说,明,明,#-,#BracketsCheckCtrl+F12,括,括号,配,配对,检,检查,#RHistoryALT+HRHIST.,保,保存,历,历史,记,记录,#R-line-andgoALT+L,单,单行,发,发送,#R-lineCtrl+ALT+L,单,单,行,行发,送,送并,返,返回,#R-R-paste-andgoALT+PR-PASTE,选,选,中,中后,发,发送,#R-R-pasteCtrl+ALT+P,选,选,中,中后,发,发送,并,并返,回,回,#R-R-source-andgoALT+SR-SOURCER文,件,件发,送,送(先,打,打开),#R-R-scriptCtrl+ALT+SRSCRIPTR文,件,件发,送,送并,返,返回,#functionCtrl+Alt+F,生,生成,函,函数,框,框架,#forCtrl+Alt+O,生,生,成,成for,循,循环,框,框架,#ifCtrl+Alt+I,生,生,成,成if框,架,架,#ifelseCtrl+Alt+E,生,生成ifesle,框,框架,#,系,系统=,高,高级=,环,环境变量,中,中新建/添加).,另一方法,:,: 用纯,文,文本修改,文,文件Rini.el中的关,于,于R的搜,索,索,即(setq-default inferior-R-program-name “c:/Program Files/rwxxxx/bin/rterm.exe”)-,也,也即只要,去,去掉之前,的,的分号(;).,修改桌面,图,图标XEmacs,的,的属性:,在,在快捷,方,方式的”,目,目标”下,添,添加,-q -l “c:.xemacsRinit.el“, 在”,起,起始位置,”,”添加存,放,放文件的,目,目录.,31,ESS+XEmacs下R,的,的使用-了,解,解XEmacs视,窗,窗,不是问题,的,的问题:,每次打开R_XEmacs,可,可能会弹,出,出信息“Initialization complete”,只要,点,点击OK,键,键就行了.,安装后初,次,次使用会,在,在屏幕的,底,底部(“minibuffer”中)出现当,前,前窗口无法打开.Rhistory 的,信,信息. 此记,录,录历史命,令,令的文件,会,会在正常,退,退出R与ESS时,建,建立(但,只,只在下面,窗,窗口提示符后,直,直接输入,一,一个或多,个,个命令后!),32,33,视窗介绍,JohnFox,将,将Xemacs主,窗,窗口(实,际,际上称为frame)分为,二,二个子窗,口,口,上下,分,分开(见,上,上图所示).,在Xemacs主,窗,窗口的上,方,方还有一,个,个菜单条(menu bar)和一个,工,工具条(toolbar),其内,容,容会随缓,冲,冲区(buffer)主模式(major mode)而变化.你可以,通,通过光标,在,在上下子,窗,窗口中转,换,换观察菜,单,单与工具,条,条的变化.,J. Fox为R,提,提供了专,门,门的工具,条,条与菜单,非常便,于,于使用(,后,后面介绍).,上面的子,窗,窗口显示*scratch*缓冲区,其,其中你可,以,以输入R,命,命令.顾,名,名思义,*scratch*缓冲并非,永,永久性的,当然你,可,可以将其,内,内容保存,在,在文件中.,下面的子,窗,窗口显示R经Emacs运,行,行的结果,在此缓,冲,冲区中你,也,也可以直接,输,输入R命,令,令.,34,每一子窗,口,口下均有,一,一个模式,行,行(modeline),显示,的,的缓冲的,状,状态,其,中,中包括:1)缓冲,的,的名字2)缓冲,的,的主模式(或次模,式,式) 3)窗口在,缓,缓冲中的,位,位置.,上面的子,窗,窗口包含*scratch*buffer,处,于,于ESSS主模式(,主,主模式由,文,文件的扩,展,展名所决,定,定. S,指,指S语言,当打开,扩,扩展名,为,为.r,.R,.s,.S,.q的S,语,语言源代,码,码时,均,处,处于ESSS,主,主模式中),显示,所,所有(ALL)缓冲内,容,容现在,是,是空的.,下面的子,窗,窗口包含*R*buffer,处,处在iESS(inferior ESS ,之,之所以你,它,它是inferior,因,为,为它是受Emacs控制的!),目,目前处在,缓,缓冲的底,部,部(Bot). 你,可,可以滑动,游,游标观察,其,其位置的,变,变化.,指针(point): Emacs,的,的光标,它,它与通常,的,的光标还,是,是有所差,异,异,不过JohnFox,在,在ESS,模,模式下按Windows的,习,习惯进行,了,了修改.,在窗口的,下,下方是一,个,个单行的,小,小窗口,称,称为minibuffer(小缓冲),主要,用,用于信息,显,显示,其,次,次若你要,输,输入Emacs命,令,令,它们,会,会显示在minibuffer中,最,最后一命,令,令(如搜,索,索和替换)的响应,在,在此完成.,35,ESS+XEmacs下R,的,的使用,-R_XEmacs,视,视窗,Paste toR(粘,贴,贴至R),按,按钮 - 将,上,上面子窗,口,口中的命,令,令送到下,面,面子窗口,中,中执行,Pasteline执,行,行,光,光,标,标,所,所,在,在,行,行,Pasteparagraph执,行,行,光,光,标,标,所,所,在,在,段,段,落,落(,其,其,中,中,不,不,含,含,空,空,行,行),Pastefunction执,行,行,已,已,定,定,义,义,的,的,光,光,标,标,所,所,在,在,的,的,函,函,数,数,Pasteregion执,行,行,用,用,鼠,鼠,标,标,标,标,记,记,的,的,区,区,域,域,SourcetoR执,行,行,上,上,面,面,子,子,窗,窗,口,口(,缓,缓,冲,冲,区,区),中,中,的,的,所,所,有,有,命,命,令,令,对,于,于R,源,源,文,文,件,件,在,在,执,执,行,行,之,之,前,前,会,会,重,重,新,新,保,保,存,存,更,更,新,新,的,的,代,代,码,码,对,于,于*scratch*buffer,中,中,的,的,代,代,码,码,保,保,存,存,后,后,才,才,能,能,执,执,行,行,(,不,不,同,同,于,于,前,前,的,的,几,几,种,种,方,方,式,式)R,文,文,件,件,中,中,的,的,源,源,代,代,码,码,的,的,执,执,行,行,过,过,程,程,不,不,在,在,下,下,面,面,的,的,子,子,窗,窗,口,口,中,中,显,显,示,示,出,出,来,来!注,意,意:首,次,次,使,使,用,用,会,会,在,在minibuffer,中,中,出,出,现,现Processtoloadinto:R,按,按,回,回,车,车,键,键,继,继,续,续,Stop中,止,止,当,当,前,前,计,计,算,算(,如,如,由,由,于,于,超,超,时,时),36,R,子,子,菜,菜,单,单,如果,光,光标/指,针,针须,在,在R,的,的源,文,文件,中,中,则,则会,出,出现ESS菜,单,单,进,进行ESS会,出,出现JohnFox,特,特地,为,为R,设,设计,的,的R,子,子菜,单,单.,R子,菜,菜单,本,本身,包,包括,三,三个,子,子菜,单,单,File文件,Packages宏包,Misc其它,它们,的,的功,能,能与RGUI的类,似,似,37,ESS=R=File,菜,菜单,SourceRcode打开,对,对话,框,框以,选,选择,源,源文,件,件,Saveworkspace,将R,的,的工,作,作空,间,间存,入,入文,件,件,Loadworkspace,加载,保,保存,的,的工,作,作空,间,间,ChangeRdirectory,改变,工,工作,空,空间(指R运,行,行过,程,程空,间,间,并,并非,指,指上,面,面子,窗,窗口,的,的源,文,文件,目,目录),38,ESS=R=packages,菜,菜单,Loadpackage,加载R宏,包,包,纳,纳入,搜,搜索,目,目录,InstallpackagefromCRAN从CRAN处,选,选择,下,载,载,安,安装,宏,宏包(需,要,要internet连,接,接!),Installpackagefromlocalzipfile从本,地,地计,算,算机,或,或网,络,络宏,包,包(zip压,缩,缩文,件,件),UpdatepackagesfromCRAN从CRAN处,更,更新,宏,宏包,搜,搜,索,索所,有,有安,装,装宏,包,包的,新,新版,本,本,下,下载,并,并安,装,装,39,ESS=R=Misc,菜,菜单,Removeallobjects,删除R工,件,件空,间,间中,所,所有,的,的对,象,象,Listobjects,列出R工,作,作空,间,间中,的,的对,象,象,Displaypath,列出R的,搜,搜索,路,路径,File=ExitR/Xemacs菜,单,单,QuitsavingRworkspace在当前的R目录中,保,保存工作,空,空间,Justquit不保存R,工,工作空间,直,直接退出R,系统,会,会,提,提醒,你,你是否真,的,的不保存,修,修改的缓,冲,冲,40,R的语法,与,与数据结,构,构,语法,符号,命,命,令,令或运算,提,提示符,+,续,续,行,行符,基本算术,运,运算,+加号,-,减,减号,* 乘,号,号,/ 除,号,号, 乘,方,方,赋值符,= 或3+5,3-5,3/5,35,x=5,?plot,help(plot),42,向量,向量是R,中,中最为基,本,本的类型,一个向量,中,中元素的,类,类型必须,相,相同,包,括,括,数值型,整型,单精度实,型,型,双精度实,型,型,逻辑型,复值型,字符型,43,建立向量,的,的方法(,函,函数),seq()或:若向量(,序,序列)具,有,有较为简,单,单的规律,rep()若向量(,序,序列)具,有,有较为复,杂,杂的规律,c()若向量(,序,序列)没,有,有什么规,律,律,例子:,1:10,seq(1,10,by=0.5),seq(1,10,length=21),rep(2:5,2),rep(2:5,rep(2,4),x=c(42,7,64,9),length(x),44,向量运算,中,中的循环,法,法则(recyclingrule),1:2+1:4,1:4+1:7,45,向量的下,标,标(index),与,与向量子,集,集(元素)的提取,正的下标提取向量,中,中对应的,元,元素,负的下标去掉向量,中,中对应的,元,元素,逻辑运算提出向量,中,中元素的,值,值满足条,件,件的元素,注:R中,向,向量的下,标,标从1开,始,始,这与,通,通常的统,计,计或数学,软,软件,一致而象C语言等,计,计算机高,级,级语言的,向,向量下标,则,则从0开,始,始!,例子:,x =c(42,7,64,9),x1,x-2,xc(1,4),46,x10#值,大,大于10,的,的元素逻,辑,辑值,1TRUEFALSETRUE FALSE,xx10#,值,值大于10的元素,14264,xx10, #产,生,生(0,1)上100个均,匀,匀分布随,机,机数,y =runif(100,min= 0,max= 1),sum(ysum(yyx=c(42,7,64,9),y=1:4,z.df=data.frame(cbind(INDEX= y, VALUE= x),z.df,INDEXVALUE,1142,227,3364,449,注,.df,只,只是为了,提,提醒自己z.df,是,是一个数,据,据框架,INDEX和VALUE是,重,重新命名,的,的向量名,字,字,49,数据框架,子,子集的提,出,出取,格式foorow, column其,中,中foo,数,数据框架,的,的名称row,需,需要,提,提出取的,行,行号column,需,需要,提,提出取的,行,行号,例子(续,上,上一例), z.df1,# 提,取,取第一个,观,观测(第,一,一行),INDEX VALUE,1142, z.df,1#提取,第,第一列(,第,第一个变,量,量的值),11 23 4, z.df2,1#提取第,二,二行第一,列,列的元素,12,50,列表(list),复杂的数,据,据分析时,,,,仅有向,量,量与数据,框,框架还不,够,够,有时需要,生,生成包含,不,不同类型,的,的对象,R的列表(list)就是,包,包含任何,类,类型的对,象,象,例子:,foo= list(x =1:6,y =matrix(1:4,nrow =2),foo,$x,11 23 45 6,$y,1,2,1,13,2,24,51,列表子集,的,的提出取,提取一个,子,子对象如foo的x,下面,三,三种方式,等,等价foo$xfoo1foo1,例,例子,foo$y,foo2,foo2,foo12,foo$y2,foo$y4,52,条件语句,作用:,避,避免除零,或,或负数的,对,对数等数,学,学问题,形式1:if(条件),表,表,达,达式1else,表,表达式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 NA,53,循环(loops),for()#若知,道,道终止条,件,件for (变,量,量 in 向,量,量),表,表达式,while()#,若,若无法知,道,道运行次,数,数while(,条,条件),表,表达式,两者通常,可,可以转换,例,例1,试,试比较两,种,种方法for(iin 1:5)print (1:i)i=1while(i 和+,而,而源程序,中,中是不需,要,要的!,55, 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), Intensity= y), attach(ybar), ybar1:10,#,查,查看ybar的前10行, res.mat =matrix(0, 1522,8, byrow= TRUE), coef.mat =matrix(0, 1522,4,byrow =TRUE), for(iin 1:1522) ,+ gene.aov= aov(Intensity A+ T+ A* T,+sub= G= i),+res.mati, = residuals(gene.aov)#,保,保存ANOVA分,析,析的残差,+coef.mati, =coef(gene.aov)# 保存ANOVA分析的,方,方差系数,+ , res.mat1:10,#,查,查看残差,的,的前10,行,行, coef.mat1:10,#查看方,差,差系数的,前,前10行,56,向量化(vectorization),循环(loops)很有用,但如果,能,能将一组,命,命令向量,化,化,则应,尽,尽量避免,循,循环,原,因,因在于,C是一种,编,编译语言,,,,其效率,是,是很高的,;,;R则是,一,一种解释,语,语言。在,计,计算时,,通,通常C要,比,比R快100倍。,在R中充,分,分使用向,量,量化,因,为,为R会立,即,即调用C,进,进行运算,,,,因而大,大,大提高计,算,算的效率,!,!,例子 -,-见Ko-Kang Wangs “RProgrammingWorkshop”,pp9-11 (Gamma函数作,图,图),Vector_1.R,没,没有使,用,用向量和,循,循环的源,程,程序,Vector_2.R,使,使用for循环,改,改进后的,源,源程序,Vector_3.R,使,使用向,量,量化后源,程,程序,57,函数,函数是一,系,系列语句,的,的组合,,在,在R中可,以,以写出自,己,己的函数,形式:变量名= function(,变,变量列表),函,函数体,函数引用: 变,量,量名(变,量,量的值),函数可以,递,递归引用,,,,但不提,倡,倡!,例子 ,使,使用gamma,函,函数求n!factorial =function(n),+ if(n=0)gamma(n+1),+ else print(“Pleaseinput apositive integer!),+,factorial(6),factorial(-6),58,用于处理,错,错误的函,数,数 ,用,用于处理,用,用户输入,不,不正确的,类,类型而可,能,能出现的,错,错误,warning(),若,若错,误,误不严重,以,以至影响,整,整个计算,stop(),若,若错误,可,可能导致,计,计算中止,print(),显,显示,必,必要的信,息,息,formatC(),数,数值,作,作为字符,串,串输出,cat(),字,字符,串,串联,可,以,以插入n(换行)及t(tab,键,键),paste(),字,字符粘贴(非字符,型,型自动转,换,换)例,子,子:,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(todayis,date(),59,R中的编,程,程,编程的重,要,要性,一个统计,软,软件(包)应该包,罗,罗万象,所,所有统计,方,方法或技,术,术,可以,完,完成所有,的,的任务?,?,?,这是一种,错,错误的观,点,点!,太贵!,费时!,SAS是,一,一个世界,上,上最为优,秀,秀的统计,分,分析软件,之,之一,但,!,当,当然SAS具体编,程,程能力,,而,而SPSS更糟!,通过编程,可,可以实现(开发),满,满足自己,需,需要的函,数,数或宏包,60,好的编程,习,习惯,为了他人,,,,更为你,本,本人!,你,你的程,序,序应该具,有,有,可读性(readability),可理解性(understandability),习惯之一,:,:行前缩,进,进(Indentation),在,此,此推荐使,用,用软件,WinEdt= 已,开,开发了基,于,于WinEdt的R使用平,台,台,(X)Emacs=已,开,开发了基,于,于(X)Emacs的R使,用,用平台,UltraEdit,习惯之二,:,:增加注,释,释(Commenting),它是,你,你的帮助,R中使用#作为注,释,释语句的,开,开始.,习惯之三,:,:变量的,命,命名,使,用,用意义明,确,确的名字,,,,切忌使,用,用人或宠,物,物的名字,61,例子 ,缩,缩进, for(iin 1:1522) ,+gene.aov - aov(Intensity A+ T+ A* T,+sub =G = i),+res.mati, - residuals(gene.aov),+coef.mati, for(i in 1:1522), ,+gene.aov - aov(Intensity A+ T+ A* T,+sub =G = i),+res.mati, - residuals(gene.aov),+coef.mati, - coef(gene.aov),+ ,62,实例演示,1JulianFaraway,提,提供的一,个,个简短的,入,入门,IntroductiontoR,使用 RGUI,使用 RCommander,使用 R_XEmacs,Furtherreference: Moores,TheBasic Practice of Statistics,Second Edition,(Freeman, 2000),2.JohnVerzani,提,提供的,统,统计学入,门,门SimpleR - UsingR for IntroductoryStatistics,使用R_WinEdt,63,演讲完毕,,,,谢谢观,看,看!,
展开阅读全文