1、R语言常见命令1、 获取帮助 help、start() 开启帮助文档 help(solve) 显示某命令的帮助信息,或者 ?solve 对于由特殊字符指定的功能,这些参数必须用单引号或双引号括起来,使之成为一个“字符串”,如 help() 与某个主题相关的例子通常可以用下面的命令得到 example(topic)2、 命令简介 R对大小写就是敏感的;名称不能以数字开始; 基本的命令由表达式或者赋值语句组成。如果一个表达式被作为一条命令给出,它将被求值、打印而表达式的值并不被保存。一个赋值语句同样对表达式求值之后把表达式的值传给一个变量,不过并不会自动的被打印出来; 命令由分号(;)来分隔,或者
2、另起新行; 基本命令可以由花括号(f与g)合并为一组复合表达式; 注释几乎可以被放在任何地方,只要就是以井号( # )开始,到行末结束; 如果一个命令在行莫仍没有结束,R将会给出一个不同的提示符,默认的就是+。3、 命令文件的执行与输出转向到文件如果命令存储于一个外部文件中,比如工作目录work中的commands、R,她们可以随时在R的任务中被执行source(commands、R)在Windows中Source也可以由File菜单执行。函数sink,sink(record、lis)将把所有后续的输出由终端转向一个外部文件,record、lis。命令 sink() 将把信息重新恢复到终端上。
3、4、 数据的保持与对象的清除R所创建、操作的实体就是对象。对象可以就是变量、数组、字符串、函数以及由这些元素组成的其它结构;objects() 用来显示目前存储在R中的对象的名字。而当前存储的所有对象的组合被称为workspace;清除对象可以使用rm命令:rm(x, y, z, ink, junk, temp, foo, bar)所有在一个R任务中被创建的对象都可以在文件中被永久保存,并在其它的R任务中被使用。在每个R任务结束时用户都有机会保存当前有效的所有对象。如果用户这样做的话,对象将被写入当前目录一个名为、RData。当R被再次启动时R会从这个文件中再载入workspace。同时相关的
4、命令记录也被载入。所以,推荐大家在用R进行不同的分析时分别使用不同的工作目录。5、 基本数据结构数值型(numeric)1,1、2,3、1415926复数型(complex)1+2i字符型(character)A/ “hello world!”逻辑型(logical)TRUE / FALSE6、 基本数据对象 向量(vector), 见下节矩阵(matrix):更一般的说数组就是向量在多维情况下的一般形式。事实上它们就是可以被两个或更多的指标索引的向量,并且以特定的方式被打印出来。因子(factors)提供了一种处理分类数据的更简介的方式。列表(list):就是向量的一种一般形式,并不需要保证
5、其中的元素都就是相同的类型,而且其中的元素经常就是向量与列表本身。数据框(data frame):就是一种与矩阵相似的结构,其中的列可以就是不同的数据类型。可以把数据框瞧作一种数据矩阵,它的每行就是一个观测单位,而且(可能)同时包含数值型与分类的变量。函数( function):能够在R的workspace中存储的对象。我们可以通过函数来扩展R的功能。二 简单操作,数值与向量2、1 向量与赋值R对命名了的数据结构进行操作。最简单的数据结构就是数字向量;如, x - c(10、4, 5、6, 3、1, 6、4, 21、7) c()就是创建函数,赋值运算符就是assign(x, c(10、4, 5
6、、6, 3、1, 6、4, 21、7) 也可以写成:c(10、4, 5、6, 3、1, 6、4, 21、7) - x如果一个表达式被当作一个完整的命令,它的值将被打印到终端但不被储存。单独输入x则会将值打印出来。也可以打印倒数: 1/x y v s5 temp 13逻辑操作符包括, , =,完全相等=与不等于!=,与或非分别为&, |, !。在普通运算中,FALSE当做0而TRUE当做1。2、5 缺失值NA(not available): 一般来讲一个NA的任何操作都将返回NA。is、na(x)返回一个与x等长的逻辑向量,并且由相应位置的元素就是否就是NA来决定这个逻辑向量相应位置的元素就是T
7、RUE还就是FALSE。 x=NA就是一个与x具有相同长度而其所有元素都就是NA的向量。NaN(Not a Number): 由数值运算产生,如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()可以接受任意个参数,并从它们中逐个取出字符并连成字符串,形成的字符串
8、的个数与参数中最长字符串的长度相同。如果参数中包含数字的话,数字将被强制转化为字符串。在默认情况下,参数中的各字符串就是被一个空格分隔的,不过通过参数sep=string 用户可以把它更改为其她字符串,包括空字符串。例如: labs y (x+1)(!is、na(x) & x0 - z 表示创建一个对象z,其中的元素由向量x+1中与x中的非缺失值与正数对应的向量组成。2、 正整数的向量 x6 就是x的第六个元素 x1:10 选取了x的前10个元素(假设x的长度不小于10)。 c(x,y)rep(c(1,2,2,1), times=4) 产生了一个字符向量,长度为16,由x, y, y, x重复
9、4次而组成。3、 负整数的向量 y fruit names(fruit) lunch xis、na(x) yy 0 - -yy y - abs(y)三 对象,模式与属性3、1 固有属性:模式与长度对象就是R所进行操作的实体,对象可以就是向量、列表等,详见1、6、对象的模式包括numeri,ccomplex,character,logical,list,function,expression等。可以用mode(object)查瞧。对象的长度就是对象的另一固有属性。可以用length(object)查瞧。attribute(object)可以查瞧更深入的属性。模式的转换在允许的情况下(大多数情况都
10、就是允许的),R可以完成各种模式的转换。例如:d-as、character(z),将数值向量z e e3 alpha attr(z,dim) - c(10,10) 另R将z作为一个10X10的矩阵瞧待。3、4 对象的类别对象的一个特别属性,类别,被用来指定对象在R编程中的风格。比如:如果对象类别data、frame则会以特定方式处理。unclass()可以去除对象的类别。summary()可以查瞧对象的基本信息(min, max, mean, etc、)四 有序因子与无序因子因子就是一种向量对象,它给自己的组件指定了一个离散的分类(分组),它的组件由其她等长的向量组成。R提供了有序因子与无序因
11、子。通俗点说,因子就就是将对象的值分成不同的组(levels)。用函数factor()创建一个因子,levels按序排列(字母序或数值序)。例如province pf pf 打印出来1 四川 湖南 江苏 四川 四川 四川 湖南 江苏 湖南 江苏Levels: 湖南 江苏 四川函数levels()可以用来观察因子中有多少不同的levels。假如我们拥有这些省份考生的分数: score smeans smeans 湖南 江苏 四川85、66667 91、00000 87、50000再例如,下面命令会给出各组的length tapply(score,pf,length)湖南 江苏 四川 3 3 4函
12、数ordered()可以创建有序因子 ordered(province)1 四川 湖南 江苏 四川 四川 四川 湖南 江苏 湖南 江苏Levels: 湖南 江苏 dim(z) array(1:20, dim=c(4,5) matrix(1:24, 3,4)数据向量中的值被赋给数组中的值时,将遵循与FORTRAN相同的原则主列顺序,即第一个下标变化的最快,最后的下标变化最慢。数组的运算数组可以在算数表达式中使用,结果也就是一个数组,这个数组由数据向量逐个元素的运算后组成,通常参与运算的对象应当具有相同的dim属性。5、2 数组的索引与数组的子块数组中的单个元素可以通过下标来指定,下标由逗号分隔,
13、写在括号内。我们可以通过在下标的位置给出一个索引向量来指定一个数组的子块,不过如果在任何一个索引位置上给出空的索引向量,则相当于选取了这个下标的全部范围。如a2,a,3,等5、3 索引数组除了索引向量,还可以使用索引数组来指定数组的某些元素。例如:有4X5的数组a,若要得到a中的a1,3, a2,2 与a3,1这三个元素,可以生成索引向量i,然后用ai得到它们。 a i i,1 ,21, 1 32, 2 23, 3 1 ai1 9 6 3 ai ab ab -outer(a, b, *)其中的乘法操作可以由任意一个双变量的函数替代。广义转置:函数t(A),或aperm(A, c(2,1);获取
14、行数/列数:nrow(A)与ncol(A)分别返回矩阵A的行数与列数。矩阵乘法:操作符为%*%;交叉乘积(cross product):crossprod(X,Y)等同于t(X) %*% y,crossprod(X)等价于crossprod(X, X);diag(v):如果v就是向量,diag(v)返回一个由v的元素为对角元素的对角矩阵。 如果v为矩阵,diag(v)返回一个由v主对角元素组成的向量。 如果v只就是一个数值,那么diag(v)就是一个vXv的单位矩阵。特征值与特征向量:eigen(Sm)。这个函数的结果就是由名为values与vectors的两部分组成的列表。如果只就是需要特征值:eigen(Sm)$values最小二乘拟合即QR分解:lsfit(), qr()。强制转换为向量:as、vector(),或者直接c()、解线性方程与求矩阵的逆,奇异值分解与行列式见;六 列表与数据帧6、1 列表列表就是由称作组件的有序对象集合构成的对象。组件的模式或类型不一定相同。形如Lst Lst Lst5 list、ABC t attach(t) 这样可以直接引用数据帧内的元素,而无需$,前提就是数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1