R语言常见命令

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.获取帮助help.start()开启帮助文档help(solve)显示某命令的帮助信息,或者?solve对于由特殊字符指定的功能,这些参数必须用单引号或双引号括起来,使之成为一个“字符串”,如help([[)与某个主题相关的例子通常可以用下面的命令得到example(topic)2.命令简介R对大小写是敏感的;名称不能以数字开始;基本的命令由表达式或者赋值语句组成。如果一个表达式被作为一条命令给出,它将被求值、打印而表达式的值并不被保存。一个赋值语句同样对表达式求值之后把表达式的值传给一个变量,不过并不会自动的被打印出来;命令由分号(;)来分隔,或者另起新行;基本命令可以由花括号(f和g)合并为一组复合表达式;注释几乎可以被放在任何地方,只要是以井号(#)开始,到行末结束;如果一个命令在行莫仍没有结束,R将会给出一个不同的提示符,默认的是‘+’。3.命令文件的执行和输出转向到文件如果命令存储于一个外部文件中,比如工作目录work中的commands.R,他们可以随时在R的任务中被执行source(commands.R)在Windows中Source也可以由File菜单执行。函数sink,sink(record.lis)将把所有后续的输出由终端转向一个外部文件,record.lis。命令sink()将把信息重新恢复到终端上。4.数据的保持与对象的清除R所创建、操作的实体是对象。对象可以是变量、数组、字符串、函数以及由这些元素组成的其它结构;objects()用来显示目前存储在R中的对象的名字。而当前存储的所有对象的组合被称为workspace;清除对象可以使用rm命令:rm(x,y,z,ink,junk,temp,foo,bar)所有在一个R任务中被创建的对象都可以在文件中被永久保存,并在其它的R任务中被使用。在每个R任务结束时用户都有机会保存当前有效的所有对象。如果用户这样做的话,对象将被写入当前目录一个名为.RData。当R被再次启动时R会从这个文件中再载入workspace。同时相关的命令记录也被载入。所以,推荐大家在用R进行不同的分析时分别使用不同的工作目录。5.基本数据结构数值型(numeric)1,1.2,3.1415926复数型(complex)1+2i字符型(character)‘A’/“helloworld!”逻辑型(logical)TRUE/FALSE6.基本数据对象向量(vector),见下节矩阵(matrix):更一般的说数组是向量在多维情况下的一般形式。事实上它们是可以被两个或更多的指标索引的向量,并且以特定的方式被打印出来。因子(factors)提供了一种处理分类数据的更简介的方式。列表(list):是向量的一种一般形式,并不需要保证其中的元素都是相同的类型,而且其中的元素经常是向量和列表本身。数据框(dataframe):是一种与矩阵相似的结构,其中的列可以是不同的数据类型。可以把数据框看作一种数据矩阵,它的每行是一个观测单位,而且(可能)同时包含数值型和分类的变量。函数(function):能够在R的workspace中存储的对象。我们可以通过函数来扩展R的功能。二简单操作,数值与向量2.1向量与赋值R对命名了的数据结构进行操作。最简单的数据结构是数字向量;如,x-c(10.4,5.6,3.1,6.4,21.7)c()是创建函数,赋值运算符是'-',与函数assign()等价assign(x,c(10.4,5.6,3.1,6.4,21.7))也可以写成:c(10.4,5.6,3.1,6.4,21.7)-x如果一个表达式被当作一个完整的命令,它的值将被打印到终端但不被储存。单独输入x则会将值打印出来。也可以打印倒数:1/xy-c(x,0,x)也可以将向量作为元素。2.2向量运算操作是按照向量中的元素一个一个进行的。同一个表达式中的向量并不需要具有相同的长度。如果它们的长度不同,表达式的结果是一个与表达式中最长向量有相同长度的向量。表达式中较短的向量会根据它的长度被重复使用若干次(不一定是整数次),直到与长度最长的向量相匹配。而常数很明显的将被不断重复。如,v-2*x+y+1常用运算有:+,-,*,/,^(次方);log,exp,sin,cos,tan,sqrt等;max和min的作用是选出所给向量中最大的或最小的元素;range函数的值是一个长度为2的向量,即c(min(x),max(x))length(x)返回了向量x中元素的个数,也就是x的长度。sum(x)给出了x中所有元素的总和;prod(x)给出x中所有元素的乘积;mean(x)和var(x),分别计算样本均值和样本方差,这两个函数分别相当于sum(x)/length(x),sum((x-mean(x))^2)/(length(x)-1)。如果var()的参数是一个n*p的矩阵,那么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本向量。sort(x)返回一个与x具有相同长度的向量,其中的元素按招升序排列。还有其他更灵活的排序功能(参见order()和sort.list())。pmax和pmin将返回一个与最长的向量长度相等的向量,向量中的元素由参数中所有向量在相应位置的最大值(最小值)组成;如果要使用复数,需要直接给出一个复数部分。因此sqrt(-17)将会返回NaN(无效数值)和一个警告,而sqrt(-17+0i)将按照复数进行运算。2.3生成序列最简单的方法是用冒号‘:’,冒号具有最高运算优先级。例如1:30就是向量c(1,2,...,29,30)。30:1构造一个递减序列。利用seq()函数构造序列:有五个参数,from,to,by,length,alongfrom,to可以不写参数名,seq(2,10)就相当于2:10。by指定步长,默认为1,如seq(-5,5,by=.2)即为c(-5.0,-4.8,-4.6,...,4.6,4.8,5.0)length指定序列长度,如seq(length=51,from=-5,by=.2),等同于seq(-5,5,by=.2)along=vector只能单独使用,产生一个“1:length(vector)”序列。类似的函数是rep(),这个函数可以用多种复杂的方法来复制一个对象。最简单的形式是s5-rep(x,times=5)2.4逻辑向量TRUE,FALSE,和NA(notavailable),前两个可以简写为T和F,但T/F并不是系统保留字,可以被用户覆盖,所以最好还是不要简写。逻辑向量是由条件给出的,如下列语句令temp成为一个与x长度相同,相应位置根据是否与条件相符而由TRUE或FALSE组成的向量:temp-x13逻辑操作符包括,=,,=,完全相等==和不等于!=,与或非分别为&,|,!。在普通运算中,FALSE当做0而TRUE当做1。2.5缺失值NA(notavailable):一般来讲一个NA的任何操作都将返回NA。is.na(x)返回一个与x等长的逻辑向量,并且由相应位置的元素是否是NA来决定这个逻辑向量相应位置的元素是TRUE还是FALSE。x==NA是一个与x具有相同长度而其所有元素都是NA的向量。NaN(NotaNumber):由数值运算产生,如0/0,Inf-Inf.is.na(x)对于NA和NaN值都返回TRUE,is.nan(x)只对NaN值返回TRUE。2.6字符向量字符串在输入时可以使用单引号(')或双以号();在打印时用双引号(有时不用引号)。R使用与C语言风格基本相同的转义符,所以输入\打印的也是\,输入打印引号,n:换行,t:tab,b:回格。字符向量可以通过函数c()连接;paste()可以接受任意个参数,并从它们中逐个取出字符并连成字符串,形成的字符串的个数与参数中最长字符串的长度相同。如果参数中包含数字的话,数字将被强制转化为字符串。在默认情况下,参数中的各字符串是被一个空格分隔的,不过通过参数sep=string用户可以把它更改为其他字符串,包括空字符串。例如:labs-paste(c(X,Y),1:10,sep=)使变量labs成为字符变量c(X1,Y2,X3,Y4,X5,Y6,X7,Y8,X9,Y10)2.7indexvector---数据集子集的选择与修改任何结果为一个向量的表达式都可以通过追加索引向量(indexvector)来选择其中的子集。1逻辑的向量。y-x[!is.na(x)]表示将向量x中的非NA元素赋给y;(x+1)[(!is.na(x))&x0]-z表示创建一个对象z,其中的元素由向量x+1中与x中的非缺失值和正数对应的向量组成。2.正整数的向量x[6]是x的第六个元素x[1:10]选取了x的前10个元素(假设x的长度不小于10)。c(x,y)[rep(c(1,2,2,1),times=4)]产生了一个字符向量,长度为16,由x,y,y,x重复4次而组成。3.负整数的向量y-x[-(1:5)]表示向量y取向量x前5个元素以外的元素。4.字符串的向量只存在于拥有names属性并由它来区分向量中元素的向量。这种情况下一个由名称组成的子向量起到了和正整数的索引向量相同的效果。fruit-c(5,10,1,20)names(fruit)-c(orange,banana,apple,peach)lunch-fruit[c(apple,orange)]子集的修改x[is.na(x)]-0表示将向量x中所以NA元素用0来代替y[y0]--y[y0]表示将向量(-y)中与向量y的负元素对应位置的元素赋值给向量y中与向量y负元素对应的元素。作用相当于:y-abs(y)三对象,模式和属性3.1固有属性:模式和长度对象是R所进行操作的实体,对象可以是向量、列表等,详见1.6.对象的模式包括numeri,ccomplex,character,logical,list,function,expression等。可以用mode(object)查看。对象的长度是对象的另一固有属性。可以用length(object)查看。attribute(object)可以查看更深入的属性。模式的转换在允许的情况下(大多数情况都是允许的),R可以完成各种模式的转换。例如:d-as.character(z),将数值向量z-(0:9)转化为字符向量c(0,1,2,...,9)。as.integer(d)将d转化为数值向量。R中很多形式为as.something()的函数,可以完成从一个模式向另一个模式的转化,或者是令对象取得它当前模式不具有的某些属性。3.2改变对象的长度e-numeric()产生一个numeric型的空向量e。character()等类似。此时长度为对象0。此时新添加一个元素会使e的长度自动调整。e[3]-17令e为一个长度为3的向量(此时,该向量的前两个元素都是NA)缩短(截断)一个对象的长度,只需要一个赋值命令。因此,若alpha是一个长度为10的对象,下面的命令alpha-alpha[2*1:5]3.3属性的获取和设置函数attributes(object)将给出当前对象所具有的所有非基本属性(长度和模式属于基本属性)的一个列表。函数attr(object,name)可以被用来选取一个指定的属性。除了为某些特殊的目的创建新属性这样特殊的环境下,这些函数很少被用到。当函数attr()用在赋值语句左侧时,既可以是将对象与一种新的属性关联,也可以是对原有属性的更改。例如attr(z,dim)-c(10,10)另R将z作为一个10X10的矩阵看待。3.4对象的类别对象的一个特别属性,类别,被用来指定对象在R编程中的风格。比如:如果对象类别data.frame则会以特定方式处理。unclass()可以去除对象的类别。summary()可以查看对象的基本信息(min,max,mean,etc.)四有

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功