向量的创建
R中所有的操作都是向量化的操作
S1:向量的创建
S2:向量的命名:给向量中每一个位置上的元素起一个名字,方便我们理解对应位置上代表的意义。使用的函数是names(),名字的值,用字符来表示。
S3:向量的引用:单个位置上的元素引用,向量的引用用[]加给出元素的位置值;引用多个位置上的元素引用,将需要引用的位置,构成一个向量,将其作为引用坐标
c()内部可以是单个的元素,也可是元素自身的向量。
引用后,我们可以轻松地知道其值,并且进行后续操作,例如改变值。
常用的向量运算函数
在函数使用过程中,我们可以按照嵌套的方式执行,最内层括号的式子最先报告
length() sum() mean() max() min() sort() reverse() range()
S4: 向量的修改:直接引用后,使用赋值修改
S5:新值的增加:直接引用新的位置
S6:值的删除:直接给出向量位置,前面加“-”,其结果是一个新的向量,并没有直接的删除原来向量里的值。要更新,就必须将结果赋给原来的向量 a<-a[-c(102:105)]
S7:进行逻辑引用:
对向量的逻辑引用,可以为后面基于逻辑判断,筛选数据作基础
其引用过程是:生成一个与原向量等长的逻辑向量,对应位置上是T,则表示引用该元素,否则,F表示不引用该位置的元素。
a[逻辑判断式->等长的逻辑向量]: 逻辑判断式对a这个向量的每一个元素进行逻辑表达式的执行,执行完毕以后,返回一个与a同长的逻辑向量。该结果逻辑向量就可以作为地址依据,筛选出满足逻辑判断式的元素。
which(逻辑判断式->等长的逻辑向量),返回原向量中,满足条件的元素位置值。
字符向量的操作
字符操作的终极工具是正则表达式。这一个字符处理的高级话题,可以通过查阅相关的书籍。它对各种编程语言都是适用。
nchar是对一个字符元素,统计其中的字母个数,因为a中有4个字符型元素,所以基于向量化操作,nchar对a中的每一个元素都进行一次执行,所以会返回4个数据,分别为每一个字符元素的字母数。
a<-c(“today”,“is”,“very”,“hot”)
length(a)
## [1] 4
nchar(a)
## [1] 5 2 4 3
length(“implementation”)
## [1] 1
nchar(“implementation”)
## [1] 14
常用函数
tolower()
toupper()
paste(a,b):
-
当输入的待拼接字符是一维的时候,它们进行首尾相接
-
当其中含有字符向量时,则进行向量化拼接,相当于把较短的扩展成与较长一样长度的情形,再进行拼接。e.g. paste(c(“a”···“z”),1:30) z26,a27,循环迭代
-
把一个字符向量,缩减成一个元素的一句话,paste(a,collapse="")
grep():pattern参数,它与字符处理的正则表达式有关
substr()在单个字符
数组及矩阵
创建定义matrix(),用一维的向量,结合包含的行数与列数,即可构成二维的矩阵。 在大学阶段,需要学习一门线性代数。它是快速与大规模计算的基础,也是当前人工智能的计算基础 。 现有阶段,求解线性方程组,可以直接使用
数据框
它是在数据分析中,应用得最广泛的数据结构,因为它可以对比为数据库中的一张表。从结构形式上,它可以比做matrix,但是数据框允许不同列的类型不一样。在引用数据框时,引用方法可以使用基于matrix的方法,当然数据框还有自己独特的引用方法,我们将在后面依次的介绍。每一列的操作可以比做向量操作。 数据框中,特定地引用某一列时,我们使用“$”, 矩阵中,行和列引用位置,是使用“,”来分隔。左边是针对行,右边是针对列。 在数据框中,可以省略不用“,”,这时是对列进行引用 。 在数据框中,有特殊的一个编辑函数,可帮助我们进行可视化的编辑。edit(). 数据框很容易进行,在行上和列上的数据扩展。