R for Beginners(中文版).pdf

所需积分/C币:40 2016-04-11 10:21:11 912KB PDF
收藏 收藏 1
举报

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

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

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

    40积分/C币 立即下载 >