“SAS”中的“重命名”功能和“标签”功能有什么区别,它们的用例是什么?

时间:2021-04-26 08:01:47

标签: sas

SAS 既有 rename 函数,也有 label 函数。这两者似乎都会更改您正在使用的数据列的名称。谁能向我解释为什么 SAS 中有两个函数似乎在做同样的事情?

谢谢!

2 个答案:

答案 0 :(得分:1)

SAS 数据集是数据的整体矩形。在数据库中,它们通常被称为行和列。在 SAS 数据用语中,观察值和变量也是如此。在与知识渊博的受众交流时,这些术语可以自由互换。

一个 SAS 变量有许多可以修改的元数据项

  • 名称,修改为RENAME
  • 标签,用LABEL修改
  • 格式,如何处理变量值以构造作为文本的值表示
  • informat,如何处理输入文本以构造变量值
  • 长度,为变量值分配的媒体存储空间(名义上是字节数)

当您使用数据集查看器时,它会显示列标题的顶行。标题将是 NAME 或 LABEL :

  • NAME 必须符合根据会话选项 VALIDVARNAME 设置的 SAS 会话命名规则。 V7 规则集是名称长度不超过 32 个字符,并且仅包含 _A-Z0-9 个字符。
    • 有些结构称为名称文字,适用于更复杂的情况。
  • LABEL 是最多 200 个字符的字符值。

有一个 RENAME= 数据集选项用于在 i/o 期间更改变量的名称 有一个 RENAME 语句用于在 DATA 或 PROC 步骤处理期间更改变量的名称

这是一个用于更改变量标签的 LABEL 语句。

Proc DATASETS 可用于更改变量元数据而无需重写数据集。这在更改具有多行和/或多列的数据集的可变元数据时非常有用。

有几种方法可以检查变量元数据:

  • VAR 窗口
  • Proc CONTENTS
  • SQL DICTIONARY.COLUMNS
  • 查看SASHELP.VCOLUMN

所有这些信息都可以在 SAS Documentation 网站上在线获取。

答案 1 :(得分:1)

变量的 LABEL 只是一个存储对用户更友好的变量描述的地方。标签在某些可视化工具中用于代替名称作为列标题,但它与名称不同。

示例:

 data want;
   set have;
   if visit=0 then baseline=value ;
   retain baseline;
   label baseline='Value at VIST 0';
 run;

LABEL 语句设置附加到变量的 LABEL。 RENAME 语句更改变量的名称。

您可以在大多数过程中使用 LABEL 语句。您通常只能在 DATA 步中使用 RENAME 语句。

相关问题