购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 向量

R语言中向量(vector)分为两大类。

(1)原子向量(atomic vectors)。

(2)列表(list)。

本节重点介绍原子向量,列表将在下一节再详细介绍。

提示

如果不做特殊说明,本书中所提到的向量就是原子向量。

原子向量是一维的数据结构,可以包含相同数据类型的多个元素,它是R语言中最基本的数据结构。

原子向量的元素可以是数值、字符、逻辑值、复数或原生字节。常见的原子向量类型包括数值向量、字符向量、逻辑向量、复数向量和原生向量。整数类型向量如图3-1所示,字符类型向量如图3-2所示。

图3-1 整数类型向量

图3-2 字符类型向量

3.1.1 创建向量

在R语言中,有以下几种常用的创建向量的方法。

(1)使用c()函数手动创建向量。

示例代码如下。

上述示例代码解释如下。

代码第①行创建一个字符向量。

代码第②行使用typeof()函数可以查看向量的类型。

代码第③行和第④行分别创建两个数值向量。

代码第⑤行创建的向量中元素有字符串和整数,需要注意的是数值会被转换为字符。

上述示例代码运行结果如下。

(2)使用其他方法创建向量。

示例代码如下。

上述示例代码运行结果如下。

3.1.2 向量属性

在 R 语言中,向量具有许多属性。这些属性可以提供有关向量的信息,包括长度、数据类型、维度等。以下是一些常见的向量属性。

(1)长度(Length):表示向量中元素的数量。可以使用 length() 函数来获取向量的长度。

(2)数据类型(Data Type):每个向量都有一个数据类型,它表示向量中元素的数据类型。常见的数据类型包括数值型、字符型、逻辑型等。

(3)维度(Dimension):用于指示向量是不是多维的。通常向量是一维的,但如果我们将其重新维度化为矩阵或数组,它将具有维度属性。

示例代码如下。

上述示例代码运行结果如下。

3.1.3 访问向量元素

要访问向量元素,我们可以使用向量的索引。在 R 语言中,向量索引从1开始,而不是从0开始,这意味着第一个元素的索引是1,第二个元素的索引是2,依次类推。向量索引如图3-3所示。

图3-3 向量索引

R语言中访问向量元素有多种形式,示例代码如下。

上述示例代码解释如下。

代码第①行使用单个整数索引来访问向量中的单个元素。

代码第②行使用多个索引访问向量,这需要使用一个向量作为索引来同时访问多个元素。

代码第③行使用负数索引访问向量,它可以从向量中排除特定元素。

代码第④行使用逻辑索引访问向量,其中TRUE表示选择对应位置的元素,而FALSE表示不选择。

代码第⑤行使用索引范围访问向量,[2:4]表示选择第二到第四个元素。

上述示例代码运行结果如下。

3.1.4 遍历向量

遍历向量就是循环访问向量中的每个元素,我们可以使用不同的控制结构来完成这个任务,包括for循环、while循环和向量化操作。示例代码如下。

上述示例代码运行结果如下。

3.1.5 检查向量中是否存在指定的元素

在 R 语言中,我们使用运算符“%in%”来检查向量或列表等数据结构中是否存在指定的元素并返回布尔值。如果运算结果返回TRUE,说明指定的元素存在;否则,返回FALSE。

使用运算符“%in%”的示例代码如下。

上述示例代码运行结果如下。 bHmDEG1w/sP1bJCxrx1Y1nEOT6hnvbZ09MSebs/53p9U2mwi77sUb7zSOrQxA1wY

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开