还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
R语言基础学问R的历史R是一个有着统计分析功能与强大作图功能的软件系统,是由奥克兰高校统计学系的RossIhaka和RobertGentleman共同创立由于他们的名字的首字母都是R因此R便成了这门语言的名称R受到了贝尔试验室的S语言的影响,因此R又被称之为S语言的方言.寻求帮助在学习R的过程中寻求帮助的方法主要分三种谷歌一下、去论坛提问和发邮件谷歌一下在我们运用R的时候可能会遇到的一些问题,首先我们须要将问题或者错误的提示信息粘贴到谷歌中去目前的翻墙方法有很多,如xx-net和运用翻墙阅读器等我登陆谷歌的方法是运用天行者阅读器来登录谷歌,目前是可以正常运用的论坛和邮件假如谷歌没法帮我们解决问题,那么我们就须要到论坛或邮件列表去询问在询问的时候须要留意以下几点供应一个可以再现错误的例子,为了达到的目的是什么,运用的R的操作系统、R的版本以与Rpackage的版本等.数据类型和数据结构基本数据类型[
[2]]
[1]a[
[3]]
[1]TRUE[
[4]]
[1]l+4i在输出结果中双层的中括号[川,列表的元素用[川里面的数字进行索引indexo所以第一个元素是向量1其次个元素是向量“a”,第三个元素是向量TRUE第四个元素是复数向量l+4i列表元素由3]包围,其他向量的元素则只有[]这是把列表和其他类型的向量区分开的一种方法列表中的元素还可以是数据框dataframeo所以组成列表的元素可以是任何类型的对象,这也是列表会这么有用的缘由数据框可以理解是一个松散的数据集它可以是由不同类型的列数字、因子、字符等组成的类矩阵matrix-likeo在R语言里操作和接触的全部东西都称作对象objecto对象有很多种类可以包含各种类型的数据R语言里全部的东西都被称为对象,R语言中常见的数据类型有几下几种,分别是字符型character数值型numeric整型integer、复数型complex因子型factor以与逻辑型logicaloR语言里最常见的基本对象是向量vector一个向量可以包含同一类型的多个对象数值型numeric:一般数字形式的数据都为数值型实数或者小数,从传统的数据分类方式来看,即指定量变量x#构造元素为12345的向量xX#输出X的值12345classx#显示x的数据类型numeric整型integer:仅含有整数,且设定数据类型为integer否则一般为数值型xl=as.integerx#将x转化为整数型数据xlclassxl#显示向量xl的数据类型
[1]integer复数型complexnumber:x2Conjx3
[1]1+Oi2-4i其中i是个特殊符号,代表复数的虚部imaginarypart逻辑型logical:取TRUE和FALSE两个固定值,用于指示推断结果x=cl2345#构造元素依次为12345的向量xX12345x==2#推断向量x中等于2的元素FALSETRUEFALSEFALSEFALSEKx#推断向量x中大于等于2的元素FALSETRUETRUETRUETRUEwhichx#选择向量中小于2的元素1is.logicalx#推断向量x是否为逻辑型数据FALSE字符型character:指向量中每个元素都是一个字符或字符串,即一般的数据分类方式中所说的定性变量y#构造元素为字符串T、love、R”的向量Ry#输出y的值
[1]IloveR#显示向量y的数据类型#显示向量y的维度,也就是y的元#显示向量y中每个元素的字符的个#推断向量y中为“R”的元素因子型factor:因子型数据类型简洁来说就是披着定量数据外壳的定性数据,即以数字代码的形式表现的字符型数据,本质上为定性数据因子factor是一种特殊的向量类型,通常用来记录分类数据因子有两种类型有序的以与无序的无序因子可以认为是用来标记那些有标签有类别但是又没有依次的数据,比如说男性和女性序因子可以用来标记那些有先后次序的数据,这些数据可以不是数值型的,但却是有序的例如高校的助理教授、副教授以与正教授,这就是一种有序的分类所以可以把有序因子当作是一个整型向量,其中每个整数都有一个标签例如一个由
1、
2、3组成的向量,1代表较高的值,2代表一个中等的值,3代表一个较低的值这三个变量将会有三个标签,分别是高、中、低,在R当中分别用
1、
2、3来表示可以运用factor函数来创建因子,叮嘱如下sex=factorcl110levels=c0llabels=cmalefemale#设置因子型数据sexsex#输出sex的值
[1]femalemalefemalefemalemalefemaleLevels:malefemaleclasssex#显示sex的数据类型factor创建一个含有两个levelyes和no的简洁因子,叮嘱如下xunclassx#unclass函数能够去掉分类信息,使x变为一个整型向量
[1]22121attrlevels
[1]noyes一个向量可以包含单一类型的多个对象,因此可以有实数向量或整数向量但是一个标准的向量不能包含不同类型的对象,同一个向量里的全部对象都必需是同一类型的假如一个向量中包含两种不同类型的对象,那么R会创建最低级公共类型leastcommondenominator的向量此时R不会报错,而是将向量强制转换成coerce为二者的最低级公共类型例如:yiy3naHHTRUEnclassy3character”若想强制转换对象的类型,可以运用as.numeric、as.logical、as.charcater函数进行强制转换xas.logicalx#依据约定0转换成FALSE全部大于的数都转换成true
[1]FALSETRUETRUETRUETRUETRUETRUEclassxinteger1as.characterx
[1]nQn23n4n”5”6classxinteger”强制转换也不愿定始终成功,假如它失败了就会返回NA值全部无意义的强制转换就会导致NA值yasplexy
[1]NANANAWarningmessage:NAsintroducedbycoercionxx
[1]
135793.
2.2矩阵矩阵matrix是R里的一类特殊向量,它们不是一种单一的数据类型而是有维度dimension属性的向量维度属性是一个整型向量,它的长度为2其中第一个数字是矩阵的行数,其次个数字是矩阵的列数m#matrixf函数来创建一个2行3列的空矩阵m
[1]
[2]
[3]
[1]NANANA[2』NANANAdimm#运用dim函数返回矩阵的维度属性在这里为2行3列
[1]23attributesm#运用attributes函数将返回一个列表,其中的第一个元素是dimdim中包含向量23$dim
[1]23这就是矩阵的全部特性它是一个具有维度属性的向量矩阵是按列生成的,你可以把这个过程想象成把一个向量里的全部数按列填入矩阵中,先填第一列,填完第一列最终一行的数字后再填其次列,然后是第三列等等例如运用1到6的数列创建一个矩阵,指定这个矩阵有2行3歹!1输入叮嘱如下ndimm#运用dim函数对数列m添加维度,把1到10的向量转变成2行5列的矩阵m
[1]
[2]
[3]
[4]
[5]
[1]13579
[2]246810还有一种创建矩阵的方法,通过绑定行或者列来创建通过运用cbind和rbind函数来创建,叮嘱如下x#构建向量xX123y#构建向量yy
[1]101112cbindxy#运用cbind函数以列排布的形式合并向量x和y生成3行2列的矩阵
[1]110
[2]211
[3]312rbindfxy#运用rbind函数以行排布的形式合并向量x和y生成2行3列的矩阵U]
[2]
[3]x123y
1011123.
2.3列表可以包含多种类型的对象的向量叫做列表list列表是一个向量是一个由多个对象组成的序列,只是其中每个对象的类型可以各不相同比方说一个列表可以包含字符型、数值型和逻辑型的对象,也可以包含一个列表列表的每个元素可以是不同类型的对象,这就让列表可以轻松存放各种类型的数据在R中列表是特殊有用而且常用的对象,尤其是在和其它我们即将学到的函数类型一起运用时例如运用list函数创建一个列表x第一个元素是数值对象1其次个元素是字符“a,第三个是逻辑值TRUE第四个是复数叮嘱如下XX[
[1]]
[1]1。