如何使用表格在SAS中设置变量标签?

时间:2017-09-25 14:41:13

标签: sas label

假设我获得了一个包含以下列名的数据集(表1):

X1, X2, ... , XN

我有第二个文件(表2),其中包含变量的描述。它看起来如下:

Var  Description
X1   Description of X1
X2   Description of X2
.    ...
.    ...
.    ...
XN   Description of XN

我如何使用表2标记表1?

1 个答案:

答案 0 :(得分:2)

在SAS中执行此操作比在R或类似情况下要复杂一点;这不是一个简单的一步解决方案。但是,对于一些宏观语言的基本知识,它并不是特别复杂。

首先,您需要一个将变量名称和字符串作为参数的宏。

%macro label_it (var=, label=);
  label  &var. = "&label.";
%mend label_it;

然后您需要生成一个宏调用列表。假设您有一个包含变量varlabelsvar的数据集description

proc sql;
  select cats('%label_it(var=',var,',label=',description,')')
    into :labellist separated by ' '
    from varlabels;
quit;

然后,您只需在您喜欢的任何上下文中使用新的宏变量&labellist. - 数据步骤或PROC DATASETS

data want;
  set have;
  &labellist.;
run;

proc datasets lib=work;
  modify have;
  &labellist.;
run; quit;

还有很多其他方法可以做到这一点,但这可能是最简单的方法。可以在或多或少的步骤中执行此操作,但它更复杂,可能更慢而不是更快(使用DOSUBL)。