R for Beginners中文版(第二版)

所需积分/C币:50 2012-01-17 21:33:15 743KB PDF
收藏 收藏
举报

R for Beginners中文版(第二版)
日录 导言 2基本原理与概念 2.1基本原理 3 2.2对象的产生,排列及删除 5 2.3在线帮助 3R的数据操作 3.1对象 32在文件中读写数据 3.3存储数据 14 3.4生成数据 15 34.1规则序列 3.42随机序列 35使用对象 19 3.5.1创建对象 19 3.52对象的类型转换 24 3.5.3运算符 35.4访问一个对象的数值:下标系统 27 3.5.5访问对象的名称 3.5.6数据编辑器 3.57数学运算和一些简单的函数 32 358矩阵计算 34 4R绘图 37 4.1管理绘图. 37 4.1.1打开多个绘图设备 37 4.1.2图形的分割 .38 4.2绘图函数 41 43低级绘图命令 42 44绘图参数 4.5一个实例 45 46gid和atce包 5R的统计分析 56 5.1关于方差分析的一个简单例子. 6 52公式 53泛型函数 59 54包 6R编程实践 65 6.1循环和向量化.. 65 6.2用R写程序 67 63编写你自己的函数. 7R相关的文献 72 1导言 该于册是关于R的一个入门教材山于主要针对初学者,我将重点放在了 对R的工作原哩的解释上。R涉及广泛,因此对丁初学者来讲,了解和掌握 些基本概念及原理是很有必要的。在打下扎实的基础后,进行更深入的学习 将会变得轻松许多。本着深入浅出的宗旨,本手册将大量配合图表等形式, 尽可能使用通俗的语言,使读者容易理解而并不失细节。 R是一个有着统计分析功能及强大作图功能的软件系统,是山 Ross thaka 和 Robert gentleman1共同创立。R语言可以看作是由A&T贝尔实验室所 创的S语言发展出的一种方言。因此,R即是一种软件也可以说是一种语 言。S语言现在主要内含在由 Insightful公司经营的 S-PLUS软件中。R和S在 设计理念上存在有着许多不同:关丁这方面的详细内容大家可以参考Iaka& Gentleman(1996或RFAQ3,该文档同时随R一起发布。 R是在GNU协议 General public licence下免费发行的,它的开发及维护 现在则由R开发核心小组 R Development Core Tean具体负责 R的安装文件有多种形式,有在Un或Iix系统下所需的一些源代 码(主要用C及 Fortran编写),及在 Windows, Linux及 Macintosh上使用的预编 译二进制码。这些安装文件以及安装说明都可以在 Comprchemsioc R Archive Network(CRAN)5网站上下载。该网站提供的关于Linx的安装文件只适用 丁较新版木的 Linux。详情请参考CRAN网站。 R内含了许多实用的统计分析及作图函数。作图数能将产生的图片展 示在一个独立的窗!|中,并能将之保存为各种形式的文件(jnpg,png,bmp,ps, podf,emf, pictet,Kfg;具体形式取决于操作系统)。统计分析的结果也能被育 接显示出来,一些中间结果(如P值,回归系数,残差等)既可保存到专门的 文件中,也可以直接用作进一步的分析。 在R语言中,使用者可以使用循环语句来连续分析多个数据集,也可将多 个不同的统计函数结合在一个语句中执行更复杂的分析。R使用者还可以借鉴 网上提供的用S编写的大量程序6,而且大多数都能被R直接调用。 非专业人员起初可能觉得R相对比较复杂。其实,R的一个非常突出的优 点正是它的灵活性。一般的软件往往会直接展示分析的结果,而R则将这些结 果都存在一个对象“ object”里面,所以常常在分析执行结束后并不显示任何结 IIhaka R.& Gentleman R. 1996. R: a language for data analysis and graphics. Journal of Computation, al and Graphical Statistics 5: 299-314 http://www.insightfulcom/products/splus/defa.ult.asp http://cran.r-project.org/doc/faq/r-faq.html Formoreinformationhttp://www.gnu.org/ 5http:// cran, r-project. org 6foRexamplehttp://stat.cmu.edus/ 果。使用者可能会对此感到困惑,其实这样的特点是非常有用的,因为我们 可以选择的从结果中只扣出我们感兴趣的部分。例如,我们要运行20个回归 分析而只想比较其回归系数,在R中就可以选择只显示所有分析得出的回归系 数,这样结果仅仅占了一排,而用有些软件可能会一下打开20个窗口。而在 下面的章节中,我们会看到更多能展示R相比传统软件更为灵活优越的例子。 2基本原理与概念 如果R已经被安装在你的计算机中,它就能立即运行一些可执行的命令 了。R默认的命令提示符是◇>’,它表示正在等待输入命令。如在 Windows系 统中打开 Rgui. exe,就能直接运行下拉菜单中的一些操作命令(如在线帮助 打开文件)。到这里,有些人可能会急着想知道更多的语句命令。其实,在 学习这些内容前,了解掌握一些R的基木工作原理是非常有必要的。这是木 章所要讲的主要内容 本章首先简要描述R的工作原理。在第二节中,我将介绍一些基本的赋 值分配(“asin”)的操作,如怎样产生对象 object),如何操作管理这些对象 等最后简要介绍R中非常有用的在线帮助。 21基本原理 因为R是一种编程语言,一些对编程不太熟悉的人可能会望而却步。这种 障碍其实是完全没有必要,首先,R是一种解释型语言,而不是编译语言,也 貮意味着输入的命令能够直接被执行,而不需要像一些语言要首先构成一个 完整的程序形式(如C, ortan, Pascal,) 第二,R的法非常之简单和直观。例如,线性回归的命令1m(y~x)表 示“以为自变量,y为反应量来拟合一个线性模型”。合法的R函数总是带有 圆括号的形式,即使括号内没有内容(如s()。如果直接输入函数名而不输 入圆括号,R则会白动显示该函数的一些具体内容。在本于册中除在部分文字 已作出清楚的说明外,所有的函数后都接有圆括号以区别于对象○ object) 当R运行时,所有变量,数据,函数及结果都以对象(obeo.的形式存 在计算机的活动内有中,并冠有相应的名字代号。我们可以通过用一些运算 符(如算术,逻辑,比较等)和一些函数(其本身也是对象)米对这些对象进行操 作。迈算操作非常简单,其细节将留在卜章讨论(p.26).关于R中的函数可用 下面的图例来形象的描述 arguments-+ fu nction result ptions→ default arguments 图中的参量( argument)可能是一些对象(如数据,方程,算式.)。有 些参量在函数里被预设为缺省值,用户则可按需对其作个别的修改。所以运 行一个R函数可能不需要设定任何参量,原因是所有的参量都可以被默认为缺 省值,当然也有可能该函数本身就不含任何参量。由于这里主要是讲述R的工 作原理,对R函数的介绍将不再展开,在后面的章节中我们会看到关于构建及 使用各种函数的详细内谷(p.68) 在R中进行的所有操作都是针对存储在活动内存中的对象的,囚此就不涉 及到任何临时文件夹的使用(Fig,1)。对数据,结果或图表的输入与输出都 是通过在对计算机硬盘中的文件读写而实现。用户通过输入一些命令调用函 效,分析得岀的结果可以被直接显示在屏幕上,也可以被存入某个对象或被 写入硬盘(如图片对象)。因为产生的结果本身就是一种对象,所以它们也能被 视为数据并能像一般数据那样被处理分析。数据文件臥可从本地磁盘读取也 可通过网终传输从远程服务器端获得。 library/base/ keyboard commands stant/ functions and operators /graphics/ mouse functions data data” objects file internet screen 1“ results” objects PS|Ppd… Active memory hard disk 图1:R工作原理示意图 所有能使用的R函数都被包含在一个库( library)中,该库存放在磁盘 的 R-HOME/ library日录下( R_HOME是最初安装R的地址)。这个日录下含 有具有各种功能的包( packages),各个包也是按照目录的方式组织起来的。 其中名为base的包可以算是R的核心,因为它内嵌了R语言中所有像数据读写 与操作这些最基本的函数。在上述目录中的每个包内,都有一个子日录R, 这个目录里又都含有一个与此包同名的文件(例如在包base中,有这样一个文 件 R_HOME/ library/base/R/base)。该文件正是存放所有函数的地方 R语言中最简单的命令莫过于通过输入一个对象的名字来显示其内容了。 例如,一个名为n的对象,其内容是数值10: [1]10 方括号中的数字1表示从n的第一个元素开始显示。其实该命令的功能在 4 这里于函数 print相似输出结果与 print(n)相同(但有些情况下,例如内嵌 在一个函数或循环中时,就必须得用 print函数)。 对象的名字必须是以一个字母开头(A乙或a-z),中间可以包含字母,数 字(09),点()及下划线(-).因为R对对象的名字区分大小写,所以x和X就可 以代表两个完全不同的对象(在 Windows操作系统中也是如此)。 22对象的产生,排列及删除 个对象可以通过赋值操作来产生,R语言中的赋值(“ assign”)符号一般 是由一个尖括号与一个负号组成的箭头形标志。该符号可以是从左到右的方 向,也可以相反: n<-15 n [1]15 [1]5 X<-10 X [1]1 X [1]10 如果该对象已经存在,那么它以前的值将会自动被新值冲掉(这种修改只 会影响内存中的数据,操作结果暂时不会被保行到硬盘中)=在R中给对象赋 值有多种形式,可以是直接赋一个数值,也可以是一个算式或一个函数的结 果 n<-10+2 [1]12 >n <-3+ rnorm(1) [1]2.208807 运行 rnorm(1)将产生一个服从平均数为0标准差为1的标准正态分布的随 机变量(p.18)。当然你也可以只是输入函数或表达式而不把它的结果赋给某 个对象,但如果这样在窗口中展示的结果将不会被保存到内存中: >(10+2)*5 [1]60 本文中,在不影响读者理解的情况下,一些赋值符号将公被省略。 函数]s的功能是显示所有在内存中的对象:只会列出对象名,如: name<-" carmen"';n1<-10;n2<-100;m<-0.5 1s() [1]" h2I name 注意在R中应该用分号来隔开同一行屮的不同命令语句。如果只要显示出 在名称中带有某个指定字符的对象,则通过设定选项 pattern来实现(可简写 为pat)) Is(pat ="m") name 如果进一步限为显示在名称中以某个字母开头的对象,则可 >1s(pat="^m") 运行数1s.stx(将会展小内存中所有对象的详细信息: Is stro mum 0.5 n1. num 10 n2. num 100 name chr carmen 选项 pattern在这里同样适用。在1s.str数中另一个非常有用的选 项是皿ax.leve1,它将规定显示所有关对象信息的详细级别。缺省情况 ,18.str将会列出关于对象的所有信息,包括数据框,矩阵,数据列 表的列数信息。因此展示结果可能会很长。但如果设定max.1evel=-1就可 以避免这种情况了: >M<- data frame(n1, n2, m) ls str(pat ="M") data. frame 1 obs. of 3 variables s n1: num 10 $n2:num100 s m: num 0.5 ls str(pat=M", max level=-1) M:data. frame’: 1 obs. of 3 variables 要在内存中删除某个对象,可利用函数rm:运行rm(x)将会删除对象x,运 行rm(x,y)将会删除对象x和y,而运行rm(is-()则会删除内存中的所有对 象.在上面所讲的1s()数中的一些选项同样也可以运用到xm中来,以选择 的删除一些对象,如:rm(1ist=1s(pat

...展开详情
试读 77P R for Beginners中文版(第二版)
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    R for Beginners中文版(第二版) 50积分/C币 立即下载
    1/77
    R for Beginners中文版(第二版)第1页
    R for Beginners中文版(第二版)第2页
    R for Beginners中文版(第二版)第3页
    R for Beginners中文版(第二版)第4页
    R for Beginners中文版(第二版)第5页
    R for Beginners中文版(第二版)第6页
    R for Beginners中文版(第二版)第7页
    R for Beginners中文版(第二版)第8页
    R for Beginners中文版(第二版)第9页
    R for Beginners中文版(第二版)第10页
    R for Beginners中文版(第二版)第11页
    R for Beginners中文版(第二版)第12页
    R for Beginners中文版(第二版)第13页
    R for Beginners中文版(第二版)第14页
    R for Beginners中文版(第二版)第15页
    R for Beginners中文版(第二版)第16页
    R for Beginners中文版(第二版)第17页
    R for Beginners中文版(第二版)第18页
    R for Beginners中文版(第二版)第19页
    R for Beginners中文版(第二版)第20页

    试读已结束,剩余57页未读...

    50积分/C币 立即下载 >