SAS 数组

17 Mar 2025 | 4 分钟阅读

On 运算符 | In 运算符

数组是一种数据结构,用于存储固定大小的元素集合。一个数组只能存储相同数据类型的元素。

它可以存储数据的集合,但通常用于存储相同数据类型的变量集合。

数组使用索引来存储元素。它减少了代码的行数。

在 SAS 中,数组执行与上述相同的任务。这意味着它用于通过使用索引值来存储和检索一系列值。索引表示元素在保留内存区域中的位置。

语法

其中,

  • ARRAY:这是声明数组的关键字
  • ARRAY_NAME:这是数组的名称。它遵循与变量相同的命名约定。
  • SUBSCRIPT:这是我们在数组中存储的值的数量。
  • ($):仅当数组存储字符值时才使用它。
  • VARIABLE-LIST:这是一个可选的变量列表,这些变量是数组值的占位符。
  • ARRAY-VALUES:这些是将存储在数组中的实际值。我们可以声明这些值,也可以从文件或数据行中读取。

数组声明

我们可以使用上述语法以多种方式声明数组。以下是数组声明的示例。

  • 名称为 NUMBER 声明一个数组。它的长度为 5,值为 42、88、67、62、44。
  • 名称为 ALPHABET 声明一个数组。它的长度为 8,值为 A、B、C、D、E、F、G、H,从索引 0 开始。
  • 名称为 SEARCH 声明一个长度为 5 的数组,其中包含字符值。
  • 名称为 FEEDBACK 声明一个数组。在此数组中,我们可以根据我们的要求获取长度。

访问数组值

声明后,我们可以使用 DATALINES 语句在数组中提供数据值,并且我们可以使用 PRINT 过程访问这些存储的值。

在以下示例中,我们将存储和访问数组的值。

在 SAS studio 中执行上述代码

SAS Array

输出

SAS Array

正如我们在输出中看到的,数组的所有值都已存储并被访问。

连接数组的多个值

我们可以通过声明一个新变量来连接数组的多个值。

示例

SAS Array

输出

SAS Array

正如我们在输出中看到的,这两个值,即 a1 和 a2,已被连接到变量 mix 中。

OF 运算符

当分析数组的数据格式以计算数组的整行时,使用 OF 运算符。在以下示例中,我们将计算每一行中值的总和和平均值。

在 SAS studio 中执行上述代码

SAS Array

输出

SAS Array

正如我们在输出中看到的,已经计算了整行。

IN 运算符

在数组中,我们可以使用 IN 运算符访问特定值。IN 运算符检查特定值在数组行中存在或不存在的状态。在以下示例中,我们将检查数据集 animal 中是否存在 "Tiger"(老虎)。此值区分大小写。

在 SAS studio 中执行上述代码

SAS Array

输出

SAS Array

正如我们在输出中看到的,Lion(狮子)存在于数据集中,这就是它在 "available"(可用)列中显示为 yes(是)的原因。


下一主题SAS 运算符