您好,欢迎访问三七文档
R语言编程朱强1532716720017894585R语言交流232100825主要内容1.R软件基本操作2.R软件画图3.统计分析方法教材及参考文献1.R语言实战,高涛,肖楠,陈钢译,人民邮电大学出版社2.多元数据分析及其R实现,肖枝洪,朱强等,科学出版社20133.统计建模与R软件,薛毅,陈立萍,清华大学出版社,20074R语言与Bioconductor生物信息学应用,高山,欧剑虹,肖凯,天津科技翻译出版有限公司5.孙啸等.R语言及Bioconductor在基因组分析中的应用.科学出版社,2006考核方式考勤20%+平时上机作业40%+期末上机40%(开卷)R介绍–R是•一个开放(GPL)的统计编程环境•一种语言,是S语言(由AT&TBell实验室的RickBecker,JohnChambers,AllanWilks开发)的一种方言(dialect)之一,另一则为S-plus.•一种软件,是集统计分析与图形直观显示于一体的统计分析–R作为一个计划(project),最早(1995年)是由Auckland大学统计系的RobertGentleman和RossIhaka开始编制,目前由R核心开发小组(RDevelopmentCoreTeam–以后用RDCT表示)维护,他们完全自愿、工作努力负责,并将全球优秀的统计应用软件打包提供给我们。我们可以通过R计划的网站()了解有关R的最新信息和使用说明,得到最新版本的R软件和基于R的应用统计软件包.R的无私奉献者BillVenablesRobertGentlemanRossIhaka•R免费资源公开(不是黑盒子,也不是吝啬鬼)•R全面的统计研究平台•R支持多种操作系统可以在UNIX,Windows和Macintosh运行.•R有优秀的画图功能.•R可进行交互式数据分析和探索的强大平台•R有优秀的内在帮助系统•R语言有一个强大的,容易学习的语法,有许多内在的统计函数.•通过用户自编程序,R语言很容易延伸和扩大.它就是这样成长的.通过R语言的许多内嵌统计函数,很容易学习和掌握R语言的语法.我们可以编制自己的函数来扩展现有的R语言(这就是为什么它在不断等级完善!!)•R是计算机编程语言.类似于UNIX语言,C语言,Pascal,Gauss语言等.•对于熟练的编程者,它将觉得该语言比其他语言更熟悉.•而对计算机初学者,学习R语言使得学习下一步的其他编程不那么困难.•那些傻瓜软件(SAS,SPSS等)语言的语法则完全不同.R的安装1.进入网站下的CRAN选择镜像:China有六个镜像点,随意点击一个R的安装3.点击下图中Windows,再点击base4.点击第一行的DownloadR2.13.1forWindows(32megabytes)下载–工具条介绍SourceRcodeLoadimageSaveimageCopyandPasteStopcurrentcomputation•SourceRcode执行R文件(*.R或*.r)•Saveimage保存工作空间,文件名为*.RData•Loadimage打开已有的工作空间•Stopcurrentcomputation中止当前计算(由于超时等原因)(打开程序脚本)(载入映象)(保存映象)(打印)(中断目前的计算)»主菜单介绍(相应有中文对照)初识Rdemo(graphics)•R的基本界面是一个交互式命令窗口,命令提示符是一个大于号,命令的结果马上显示在命令下面。•R命令主要有两种形式:表达式或赋值运算(用-表示)。在命令提示符后键入一个表达式表示计算此表达式并显示结果。赋值运算把赋值号右边的值计算出来赋给左边的变量。•可以用向上光标键来找回以前运行的命令再次运行或修改后再运行。•R是区分大小写的,所以x和X是不同的名字。我们用一些例子来看R软件的特点。假设我们已经进入了R的交互式窗口。如果没有打开的图形窗口,在R中,用:x11()可以打开一个作图窗口。然后,输入以下语句:x1-0:100x2-x1*2*pi/100y-sin(x2)plot(x2,y,type=‘l')plot(x2,y,main=“画图练习”,type=“s”,sub=“好好练,xlab=x轴,ylab='y轴')•这些语句可以绘制正弦曲线图。其中,“-”是赋值运算符。0:100表示一个从0到100的等差数列向量。•第二个语句可以看出,我们可以对向量直接进行四则运算,计算得到的x2是向量x1的所有元素乘以常数2*pi/100的结果。•从第三个语句可看到函数可以以向量为输入,并可以输出一个向量,结果向量y的每一个分量是自变量x2的每一个分量的正弦函数值。从最后一个语句可以看出函数的调用也很自由,可以按位置给出自变量,也可以用“自变量名=”的形式指定自变量值,这样可以使用缺省值。例1在[-1,2]上画)3sin(22xeyx的图形数学函数abs,sqrt:绝对值,平方根log,log10,log2,exp:对数与指数函数sin,cos,tan,asin,acos,atan,atan2:三角函数sinh,cosh,tanh,asinh,acosh,atanh:双曲函数-1.0-0.50.00.51.01.52.001020304050xy简单统计量sum,mean,var,sd,min,max,range,median,IQR(四分位间距)等统计量,sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等。下面我们看一看R的简单统计功能:marks-c(10,6,4,7,8)mean(marks)sd(marks)median(marks)min(marks)max(marks)boxplot(marks)•第一个语句输入若干数据到一个向量,函数c()用来把数据组合为一个向量。•后面用了几个函数来计算数据的均值、标准差、中位数、最小值、最大值。•最后的函数绘制数据的盒形图。•例中sd()是R中才有的函数,在S-PLUS中要用sqrt(var())来计算。•在S命令方式中要显示一个表达式的值只要键入它。中位数(median)1.排序后处于中间位置上的值Me50%50%2.不受极端值的影响3.主要用于顺序数据,也可用数值型数据,但不能用于分类数据4.各变量值与中位数的离差绝对值之和最小,即min1nieiMx四分位数(quartile)1.排序后处于25%和75%位置上的值2.不受极端值的影响3.主要用于顺序数据,也可用于数值型数据,但不能用于分类数据QLQMQU25%25%25%25%未分组数据—箱线图(boxplot)1.用于显示未分组的原始数据的分布2.箱线图由一组数据的5个特征值绘制而成,它由一个箱子和两条线段组成3.其绘制方法是:–首先找出一组数据的5个特征值,即最大值、最小值、中位数Me和两个四分位数(下四分位数QL和上四分位数QU)–连接两个四分(位)数画出箱子,再将两个极值点与箱子相连接。另外注意–两边的竖线也称为胡须,分别离箱子边的距离为1.5倍的四分位差(IQR),在其外被认为离群点未分组数据—单批数据箱线图(箱线图的构成)中位数4681012QUQLX最大值X最小值简单箱线图•可以把若干行命令保存在一个文本文件(比如E://WORK//MYPROG.S)中,然后用source函数来运行整个文件:source(E://lian.R)•注意字符串中的反斜杠。用sink()函数可以把以后的输出从屏幕窗口转向到一个外部文本文件,例如:sink(“E://WORK//MYPROG.txt)•要恢复输出到屏幕窗口,使用:sink()•在S中还可以用“?”号后面跟要查询的函数来显示帮助信息,例如:?c?==例2:计算6,4,7,8,10的均值和标准差,把若干行命令保存在一个文本文件(比如E:\lian1.R)中,然后用source函数来运行整个文件。a-c(10,6,4,7,8)b-mean(a)c-sd(a)source(F:/lian1.R)abc要退出R,可以用q()函数,也可以用菜单命令。R在退出时提问是否保存当前工作空间,它可以把当前定义的所有对象(有名字的向量、矩阵、列表、函数等)保存到一个文件。ls()/objects()查看当前空间的对象例3:查询函数fivenum的帮助信息,并用帮助文件中的示例进一步学习.?fivenumfivenum(0:100)fivenum(1:100)fivenum(c(rnorm(100)))fivenum(c(rnorm(100),-1:1/0))包(Packages)R提供了4000多个包,这些包横跨各种领域,包括分析地理数据、处理蛋白质质谱、甚至是心理测验分析的功能。下载和安装包:install.packages(“car”)包的安装仅是从某个CRAN镜像点下载并放入库中的过程。要使用包时,需要加载这个包。如需使用包car,则使用命令library(car)R语言编程中的常见错误•使用了错误的大小写,R严格区分大小写。Help(),help(),HELP().•忘记使用必要的引号,install.packages(“car”)而不能写作intall.packages(car)•在函数引用时忘记使用括号,要使用mean(),mean•在Windows上,路径名中使用了\。正确的写法c:/mydata.csv或者c:\\mydata.csv•使用了一个尚未载入包中的函数。函数order.clusters()包含在包gclus中。•要区分中英文的符号,特别是引号R的语法与数据结构•语法–符号•命令或运算提示符•+续行符–基本算术运算•+加号•-减号•*乘号•/除号•^乘方•%*%矩阵乘法•%%求余数•%/%整数除法–赋值符•=或-–求助符•?•help()例子:3+53-53/53^5x=5?plothelp(plot)实验作业1.安装R软件2.安装Rstudio3.查询stem的函数帮助信息,并用帮助文件中的案例进一步学习.然后绘制1212111091012的茎叶图。4、绘制y=x3+sin(x)*cos(x)的函数图,并加注图例“自变量X”、“函数Y”、“示意图”.要求:需给出程序、结果,存成word文档–向量是R中最为基本的类型–一个向量中元素的类型必须相同,包括•数值型•逻辑型•复值型•字符型创建数据集1.向量(1)、数值向量–定义向量的常用方法(函数)•seq()或:若向量(序列)具有较为简单的规律•rep()若向量(序列)具有较为复杂的规律•c()若向量(序列)没有什么规律例1:10seq(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)1:3+c(5,7,2)/c(5,7,1)[1]235两个不等长的向量之间的运算则是:长度短的向量将循环使用.c(100,200)+c(1,2,3,4)[1]101202103204–向量运算中的循环法则(recyclingrule)1:2+1:41:4+1:7111212224231344246111222241333624448351564626873710sqrt(x),log(x),exp(x),sin(x),cos(x),
本文标题:R语言编程基本操作
链接地址:https://www.777doc.com/doc-5936990 .html