R语言入门教程

4星(超过85%的资源)
所需积分/C币:45 2012-12-31 00:44:17 623KB PDF
1
收藏 收藏
举报

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
CONTENTS 54函数 array0 16 向量,数组的混合运算,重复使用规则 16 55两个数组的外积 17 56数组的广义转置 57专门的矩阵功能.. 18 57.1矩阵乘法 18 572线性方程和知阵的逆 18 573特征值和特征向量 19 58奇异值分解与行列式 19 59最小二乘拟合及QR分解 19 5.10构建分区矩阵, bind()和 Irbid( 19 5.11连接函数c(),针对数组的应用,. 19 5.12出因子生成频数表 6列表和数据帧 6.1列表 6.2构建和修改列表.. 62.1连接列表 6.3数据帧 6.3.1创建数据帧 632 attach)与 detach( 6.3.3使用数据帧 6.34挂接任意列表 24 635管理搜索路径 7从文件中读取数据 25 71数 [rcad table(),,, 2函数ean( 26 7.3内建数据集的存取 7.31从其他R功能包中载入数据 7.4编辑数据 8概率分布 28 81R—作为一个统计表的集合 8.2检测数据集合的分布 8.3单样本和两样本检验 9语句组、循环和条件操作 35 9.1表达式语句组 35 9.2控制语句 921条件执行:语句 35 9.2.2重复执行:for循环, repeat和 while 10编写自己的函数 7 10.1简单小例 3 10.2定义新的二元操作符 10.3指定的参数和默认值 38 10.4参数 39 10.5函数内的赋值.... 10.6更多高级示例 39 CONTENTS 10.61区组设计的效率因子( Efficiency factors). 39 10.6.2删除打引数组中的所有名称 40 10.6.3递归的数值积分 41 10.7范畴( scoPe) 10.8定制环境 43 10.9类别,通用函数和对象定位 11R的统计模型 45 11.1定义统计模型;公式.. 1111对比( contrasts 18 112线性模型 48 11.3用丁释放模型信息的通用函数 18 11.4方差分析与模型比较 49 114.1方差分析表(ANOⅤ a table 11.5吏新拟合模型 50 11.65广义线性模型 11.6.1 i(families) 51 1.6.2函数gm( 11.7非线性最小二乘和最大似然模型 53 117.1最小二乘 11.7.2最大似然 54 11.8些非标准的模型 55 12图形过程 56 12.1高级绘图命令 56 1211函数plot( 56 12.1.2显示多元数据. 121.3显示图形 12.1.4高级绘图函数的参数 122低级绘图命令 59 122.1数学注释... 12.22 Hershey矢量字体 123图形的交互... 124使用图形参数 62 1241持续性变更( Permanent changes):par(数 12.42临时性变更:图形函数的参数 125图形参数列表 12.5.1图形元素 12.5,2坐标轴和标记 12.5,3图边缘( Figurc margins) 65 2.54多图环境 65 12.6设备驱动 1261文本文档的 PostScript图表 67 126.2多重图形设备 67 127动态图形 68 Chapter 1 绪论与基础 1.1R语言环境 R是一套由数据操作、讣算和图形展示功能整合而成的套件。包括: ●有效的数据存储和处理功能 一套完整的数组(特别是矩阵)计算操作符, ·拥有完整体系的数据分析工具, 为数据分析和显示提供的强大图形功能, 套(源自S语言)完善、简单、有效的编程语言(包括条件、循环、自 定义函数、输入输出功能)。 在这里使用”环境”( environment)是为」说明R的定位是一个完善、统一的系 统,而非其他数据分析软件那样作为一个专门、不灵活的附属工具。 R很适合被用于发展中的新方法所进行的交互式数据分析。由于R是一个动 态的环境,所以新发布的版木并不总是与之前发布的版木完全兼容。某些用广 欢迎这些变化因为新技术和新方法的所带来的好处;有些则会担心旧的代码不 再可用。尽管R试图成为一·种真正的编程语言,但是大家不要认为一个山R编写 的程序可以长命百岁。 12相关的软件和文档 R可以被当作S语言(由 Rick Becker, John chambers和 Allan wilks在Bdl实验室 开发)的实现⊥貝,或者S-PLUs系统的基本形态。 S语言的发展变化可以参考 JOHN CHAMBERS与其他人合作的四本书9。 对R来说,基本的参考书是 The New S language: A Programming ETuironTnerul for Data Analysis and Graphics (Richard A. Becker, John M. Chambers and Alf.Wiks)。对于1991年发布的S( S VERSION3)可以参考 Statistical Models in S( edited by John M. Chambers and Trevor J. hastie)。史多的参 考书目请查看本手册的相应部分。 此外,S-PLUs的相关文档都可以用于R,只是要注意R与S执行工具之间的 差别。 CHAPTER1.绪论与基础 1.3R与统计 在我们对B语言环境的介绍中并没有提到统计,不过很多人都把R作为一个 统计系统来使用。我们倾冋于把它当作环境,使得绰典和现代统计技术在其 中得到应用。一部分匚经被内建在基木的R语言环境中,但是更多的是以包 的形式提供的。由8个包是随着R一同提供的(称作标准包),其它的可以通 过(RAN的成员网站获得(通过TTP:/( ran.R-PROECT.ORG;) 通过R可以使用绝大多数的经典或者最新的统计方法,不过用户需要花一些 功夫来找出这种方法 S(和R)与其他主流的统计系统在本质上有一个很重要的不同。在S中, 统计分析通常山一系列的步骤完成,同时将交互的结果存储在对象中。所以, 尽管SAS和SPSS在一个回归或者判别分析中会给出丰富的输出结果,R只是 给出一个最小的输出,而将结果保存在一个适当的对象中山R函数进行后续查 询 14R与视窗系统 使用R最便捷的方式是在一个运行视窗系统的图形工作站上。这份指南就是为 拥有这项便利的用户准备的。尽管我们绝大部分的内容都是来讲R环境的一般 应用,我们还是会时不时的提到R在 X WINDOW系统下的应用。 与操作系统的直接互动对多数用户来说都是必要的。在这份指南中我们主 要讨论在UNX系统下的互动,所以 WINDOWS下的R用户需要做出一些小的调 整 对工作站的定制是一项直接而有效但又单调乏味的过程,在这里我们并不会 作更深入的讨论。如果您在这方面遇到了困难可以向你身边的专家寻求帮助 15R的交互使用 R程序在笭待输入侖令时会给岀提示符,默认的提示符是>,与UNⅠX的 SHELL提 示符是相同的。不过如果你愿意的话,我们可以轻松的更改R的提示符。在这 坩我们先假定UNIX的 SHELL提示符是$。在UNIX下使用R可以按照下面的推 荐步骤米黴:1.创建一个独立的了目录米存储解决这个问题所用的数据文件,将 目录命名为wORK这个目录将作为你当前任务的工作目录 S mkdir work s cd work 2启动R的程序 S R 3使用R的各种命令 4.退出R qo 此时您会被询问是否保存您在R任务中的数据。你可以回答Ys:或CANm(使 用缩略字符也可以)分别对应退出前保存数据,不保仔数据退出或回到R任务 中。被存储的数据在之后的R仟务中可以继续使用 之后的R任务就更简单了。1.令wORK成为工作目录,并启动B程序 s cd work CHAPTER1.绪论与基础 2使用R,在任务结束时用q()来中止。 在 WINDOWS下使用R的步骤与上面基木相同。创建一个文件夹作为作目 录,并将其设定R快捷方八的在”起始位置”中。然后双击图标启动R 16入门训练 我们非常推荐读者们在继续进行之前通过一个示例米获取在计算机上使用R的 感觉。这个示例由示例训练给出 17获取函数和功能的帮助信息 和UNIX中的MAN命令一样,R拥有一个内建的帮助功能。对于任意一个指定 的函数,例如sOvE,命令是 help(solve) 或者 >?solve 对亍由特殊字符指定的功能,这些参数必须用单引号或炆引号括起来,使之 成为一个“字符串”:同时对于某些含有 IF, FOR或者 FUNGTION的合成词也要这 样处理。 不论是单引号还是双引号都可以包含在另一个中,例如字符串:”TsIM- PORTANT”。我们的惯例是使用双引号。 般情况下帮助文档的HTM格式都是被安装了的,可以通过运行下面的 命令 help start 启动一个WEB浏览器(UNIX下是 NETSCAPE浏览器)来浏览包含超链接的 帮助页面。在UNIX下,后续的帮助请求冋被发送到HTM·为基础的帮助系统 中。页面中` SEARCH ENGINE AND KEYWORDS连接可以通过所包含的列表对 各种函数进行非常有效的查询。这是你熟悉并且理解R提供的各种功能的好方 法。命令HELP. SEARCH允许我们用多和方式来擭索帮助信息:绀节和例子可以 用?HELP. SEARCH米查询。与某个主题相关的例子通常可以用下面的命令得到 example(topic) WINDOWS版本的R还有另外可选的帮助系统,详纽资料请用 elp 来杏询 18R的命令、对大小写的敏感,等等 从技术角度来讲,R是一种表达式语言,它的语法是非常简单的。和大多 数UNIX为基础的软件包一样,R对大小写是敏感的,也就是说A和A是不同的 代号并且将代表不同的变量。R语言名称中可用的字符集由当前的操作系统决 定(即由 LOCALE决定)。正常情况下所有的字母和数字都是可用的(在某些国家 括重音字符),还包括句点.**NOTE1*,但是要注意名称不能以数字开 始。基本的命令由表达式或者赋值语句组成。如果一个表达式被作为一条合令 给出,它将被求值、打印而表达式的值并不被保存。一个赋值语句同样对表达 式求值之后把表达式的值传给一个变量,不过并不会白动的被打印出来。命令 由分号(;)来分隔,或者另起新行。基本命令可以由花括号({和})合并为一组复 合表达式。注释几乎可以被放在任何地方,只要是以井号(#)井始,到行末结 CHAPTER1.绪论与基础 束的都是注释。如果一个命令在行莫仍没有结束,R将会给出一个不同的提示 符,默认的是 在第二行和后续行R将继续读入,直刭命令从语法角度讲已经输入完成了。 这个提示符也可以由用户更改。一般情况忽略继续输入提示符就行 19对口输入命令的记忆和更改 在许多版本的UNIX和 WINDoWS下,R提供了对已输入命令记忆和再次执行的 种机制。使用垂直方向头的按键可以在命令记录中向前或向后滚动。当 个命令用这种方法定位之后,你就可以使用左石键改变光标的位置,对命 行进行编辑(用<DEL>删除或者按其他按键进行添加)。相信的资料在稍后 提供:参见命令行編钭器。记忆和编辑功能在UNIX下是髙度可定制的。你 可以在 READLINE库的手册中找到具体的方法。作为选择, EMACS的文本编辑 器提供了一种更为一般的支持机制(通过ESS, EMACS SPEAKS STATISTICS)米 为R下面的交互⊥作服务。参见R和 EMACS 1.10命令文件的执行和输出的转向到文件 如果命令存储于一个外部文件中,比如工作日录wORK中的 COMMANDS.E,他 们可以随时在R的任务中被执行 source("commands. R") 在 WINDOWS中 SOURO也可以由FI菜单执行。函数SNK, sink("record. lis") 将把所有后续的输出山终端转向一个外部文件, RECORD.IS。命令 sink o 将把信息重新恢复到终端上 111数据的保持与对象的清除 R所创姓、操作的实体是对象。对象可以是变量、数组、字符串、函数以及由 这些元素组成的其它结构。在一个R的仟务过程中,对象根据名称被创建和存 储(我们将在下个训练中讨论这个过程)。下面的命令 objects) 作为选择,Ls()可以)被用来显示目前存储在R中的对象的名字。而当前存 储的所有对象的组合被称为 WORKSPACE。 清除对象可以使用RM命令 rm(x, y, z, ink, junk, temp, foo, bar) 所有在一个R任务中被创的对象都可以在文件中被永久保存,并在其 它的R任务中被使用。在每个R任务结束时用户都有机会保存当前有效的 所有对象。如果用户这样做的话,对象将被写入当前目录一个名为 RDATA *米NOTE3***。当R破再次启动时R会从这个文件中再载入 WORKSPACE3同时 相关的命令记录也被载入。 推荐大家在用R进行不同的分析时分别使用不同的工作目录。在分析过程 创建名为ⅹ或Y的对象是很普通的。在一个单独的分析中它们的含义也会很清 晰,但是如果几个不同的分析在同一个工作目录中被处理的话你将会发现分辨 它们的含义是件很痛苦的事情。 Chapter 2 简单操作;数值与向量 2.1向量与赋值 R对命名了的数据结构进行操作。最简单的数据结构是数字向量,数字向量是 由一组有序数字组成的单个实体。下面的R命令将创建一个名为x,包含5个数 字(10.4,5.6,3.1,6.4和21.7)的向量 >x<-c(10.4,5.6,3.1,6.4,21.7) 上面的就是一个使用函数c(的赋值过程,其中函数c(的作用是将参数中的 数值向量以及向量的值首尾相接组成一个新的向量 个数字形成的向量可以 被看作长度为1。注意赋值操作符(;)不是通常的=操作符,=是为另外 种目的保留的。赋值探作符由两个字符组成(小于)和-(减)组成,而他们 应当严格的遵守:i和-是紧靠在一起的,符号指向的是接受表达式值的那个对 象。**notc5产*赋值的桨作同样可以使用函数 assign()。与上面等价的赋值方 法是 > assign("x",c(10.4,5.6,3.1,6.4,21.7)) 通常使用的操作符;可以被当作函数 assign()的简写。赋值同样可以在另 个方向进行,改变赋值操作符的方向就可以了。所以同样的复制作还可以被 写成 >c(10.4,5.6,3.1,6.4,21.7)→>x 如果一个表达式被当作一个完整的命令,它的值将被打印到终端但不被储 存。所以如果我们使用这个命令 五个值的倒数将被打卬到终端上(还有x的值)。下面的这个赋值操作 >y<-c(x,0,x) 将创处一个向量y,其中的11项包含两个x和中间位置的一个0。 2.2向量运算 向量可以被用于算术表达式中,挟作是按照向量中的元素 个进行的。同 个表达式中的向量并不需要貝有相同的长度。如果它们的长度不同,表达式的 结果是一个与表达式中最长向量有相同长度的向量。表达式中较短的向量会根 据它的长度被重复使用若干次(不一定是整数次),直到与长度最长的向量相匹 配。而常数很明显的将被不断重复。所以在上面的赋值前提下命令 >v<-2*x+y+1 CHAPTER2.简单操作;数值与向量 6 产生一个长度为10的新向量v,逐个元素的进行运算,其中2*x被重复22次,y 被重复1次,常数1被重复11次。逐个元素进行运算的操作符包扦+,一,*, 此外所有普通的运算函数都能够被使用。1°g,exp,sin,cos,tan,sqrt 等,而且意义并没有什么变化。max和min的作用是选出所给向量中最大的或最 小的元素。 range函数的值是一个长度为2向量,即c(min(x),max(x)) 1 ength(x)返回了向量x中元素的个数,也就是x的长度。sum(x)给出了x中所 有元素的总和,prod(x)给出x中所有元素的乘积。两个统计函数是mean(x) 和var(x),分别计算样本均值和样本方差,这两个函数分别相当于sum(x)/1 ength(x) sum(x-mean(x)\2)/( ength(x)-1)。如果var()的参数是一个np的矩阵, 邦么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本间 量。sort(x)返回一个与x具有相同长度的向量,其中的元素按招升序排列。还 有其他吏灵活的排序功能(参见 order()和sort,1ist())。需要注意论参数中 有几个向量,max和min给出的是所有向量的一个最大值或最小值。而平行的最 大最小函数pnax和pmin将返回一个与最长的向量度相等的向量,向量中的元 素山参数中所有向量在相应位置的最大值(最小值)组成。绝大多数用户并不会 关心一个数字问量中的数字究竟是整数、实数还是复数。在计算机中运算是按 照双精度的实数或复数进行的。如果要使用复薮,需要直接给出一个复数部 分。因此 sqrt(-17) 将会返回NaN(效数值)和一个警告,而 qrt(-17+0i) 将按照复数进行运算。 23产生规则的序列 R拥有很多产生常用数列的方法。例如1:30航是向量c(1,2,,29,30)。在 个表达式中冒号(:)具有最高的优先级(即最先进行运算),所以,比如2*1:15就 是向量c(2,4,..,28,30)。令n<-10然后比较一下这两个序列1:n-1和1:(n-1)。30:1这 样的构造可以用来产生一个递减的序列。函数seq()可以产尘更为一般的序 列。函数有5个参数,但并不是每次都要全部指定。如果给出第一个和第二个参 数,那么它们将指定序列的首尾,也就是说在只给出两个参数时函数的作用相 当于冒号。seq(2,10)也就相当于210。 函数seq()和其他许多R函数的参数可以指定名称的给出,此时它们出现 的次序并没有什么关系。第 个参数的名称是frm=alwe和to=vale,因 此seq(1.30),seq(irom=1,to=30)和seq(to=30,rom=1)与1:30是相同的。seqO其 后的两个参数分别是by= value和 ength=alue,分别指定序列的步长与长度。 如果这两个参数没有指定的话,默认的是by=1。 例如 >seq(-5,5,by=.2)->s3 在变量s3中产生向量c(-5.0,-4.8,-4.6,.,4.6,4.8,5.0)。相似 的 s4<- seq(length=51, from=-5, by=2) 在s4中产生一个相同的向量。 第个参数的名称是 along= vector,它只能作为唯一的参数出现,产生一个 序列一个相关的函数是rep(),这个函数可以用多种复杂的方法米复制一个对 象。最简单的形式是 times= 它将把x在s5和首尾相连的复制5次。

...展开详情
试读 72P R语言入门教程
立即下载 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
phenguin 内容不少,但都是入门知识,还行吧
2014-01-14
回复
kinsa 有些偏理论了,若是应用与理论结合会更好些。唉,要恶补统计学知识了
2013-11-11
回复
kaqiumen 不错,适合入门者学习
2013-03-18
回复
kevin_ye 不错,适合入门者学习
2013-01-05
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享达人

关注 私信
上传资源赚钱or赚积分
最新推荐
R语言入门教程 45积分/C币 立即下载
1/72
R语言入门教程第1页
R语言入门教程第2页
R语言入门教程第3页
R语言入门教程第4页
R语言入门教程第5页
R语言入门教程第6页
R语言入门教程第7页
R语言入门教程第8页
R语言入门教程第9页
R语言入门教程第10页
R语言入门教程第11页
R语言入门教程第12页
R语言入门教程第13页
R语言入门教程第14页
R语言入门教程第15页

试读结束, 可继续读5页

45积分/C币 立即下载