SAS 变量17 Mar 2025 | 6 分钟阅读 类型 | 属性 | 在 SAS 中创建变量在之前的几个主题中,我们学习了数据集的各种操作。现在,在本主题中,我们将学习 SAS 变量 及其 创建、各种 类型 和 属性。 什么是变量?在 SAS 中,变量是用户为数据集的列指定的名称。 SAS 中变量的目的是将观测值归类于特定的特征,如姓名、出生日期、身高、体重等。 变量名可以根据它所要表示的特征来给定。在命名变量时,必须遵循 SAS 基本语法 文章中的一些规则。 SAS 变量的类型SAS 变量有两种类型
SAS 数值变量数值变量存储数值,即数字。此变量用于执行算术运算,如加法、减法、乘法、除法和所有其他类型的计算。此外,数值变量还用于存储日期和时间。 数值变量的缺失值用句点 (.) 表示。 语法 示例 SAS 字符变量字符变量用于存储文本。此变量也称为字符串变量。这些变量通过在变量名末尾放置美元符号 ($) 来定义。它们可以包含特殊字符(如 &、%、()、$)、字母甚至数字。 文本变量的缺失值用空白 ("") 表示。 语法 示例 创建 SAS 变量如上所述,我们可以根据特征创建变量,所以首先考虑特征,然后根据特征给变量命名。 创建 SAS 变量有两种方法
在新数据集中创建新变量假设我们正在创建一个名为 mensuration 的新数据集,该数据集有两个特征,即长度和宽度。 以下示例说明了我们如何创建它 上面的代码将创建一个数据集,其中变量 length 和 breadth 作为列。它还将显示五个观测值。让我们在 SAS Studio 中执行此代码。 ![]() 输出 ![]() 从输出中我们可以看到,有两个变量 length 和 breadth 生成了带有五个观测值的列。 将变量添加到现有数据集现在,如果我们需要将一个基于长度和宽度的变量添加到现有数据集 mensuration 中,我们可以通过以下方式添加它 首先,指定新变量的名称,然后将等号 (=) 与其依赖的参数一起放置。 area=length*breadth(这是面积的数学公式) 我们可以使用 SAS 计算一个名为“area”的派生变量,该变量基于另外两个变量,即长度和宽度。现在,让我们看看我们如何做到这一点 在 SAS Studio 中执行上述代码 ![]() 输出 ![]() 从输出中我们可以看到,数据集“mensuration”已添加并计算了新变量 area。现在,它有三个变量,即长度、宽度和面积。 注意:始终在 input 语句和 datalines 语句之间创建新变量。变量属性SAS 变量有四个重要的属性:名称、长度、格式和标签。
属性帮助我们识别变量并定义它们的使用方式。 名称SAS 变量遵循一些命名约定,如下所示
注意:避免为变量命名一组很大的名称。 还要尽量避免使用常见的名称,如 a1、a2,因为它没有提供具体信息,并且可能会造成混淆。SAS 变量长度SAS 变量“length”对应于变量存储的字节数。字符变量和数值变量的字节数默认值为 8。 SAS 变量格式变量的格式指示 SAS 如何打印输出。 格式非常重要,因为它可以帮助读者理解输出数据。 十进制位和日期的 SAS 格式包括以下格式
SAS 变量标签如果我们想提供有关变量的附加信息,可以使用 LABEL。 例如,考虑一个员工数据,我们以变量 DOB 和 DOJ 分别获取员工的 出生日期 和 入职日期。 现在,我们想提供有关这些变量的更多信息,因为它们由于日期相似而产生了错觉。 为了克服这种混淆,我们可以使用标签。 语法 让我们通过一个例子来理解 LABEL 如何工作 PROC CONTENTS 显示了标签实际上是如何分配的。 在 SAS Studio 中执行上述代码 ![]() 输出 ![]() 从输出中我们可以看到,所有变量都已根据说明进行了标记。 LABEL 可以在数据步骤或 PROC 步骤中使用。 在上面的代码中,LABEL 在数据步骤中使用,当 LABEL 在数据步骤中使用时,它将成为数据集的永久部分。 上面代码的输出显示了所有变量的标签,并且这些标签是数据集的永久部分。 当标签在 PROC 步骤中使用时,它将成为数据集的临时部分。这意味着我们可以将变量名标记为另一种形式以供临时使用。例如,DOB ="Date of Birth" 或 DOJ ="Date of Joining." 带标签的变量 DOB 将显示为变量 Date of Birth,DOJ 将显示为 Date of Joining 在输出中。 让我们在示例中看看 在 SAS Studio 中执行上述代码 ![]() 输出 ![]() 在上面的代码中,我们在 PROC PRINT 过程(或 proc 步骤)中使用了 LABEL。在输出中,变量 DOB 和 DOJ 以带标签的形式显示,即 Date of Birth 和 Date of Joining。要记住的事实是,我们只能在 proc 步骤中使用 LABEL 语句以显示 结论是,如果要永久更改标签,请在数据步骤中使用标签,如果需要临时更改,请在 PROC 步骤中使用它。 下一个主题SAS 字符串 |
我们请求您订阅我们的新闻通讯以获取最新更新。