假设我获得了一个包含以下列名的数据集(表1):
X1, X2, ... , XN
我有第二个文件(表2),其中包含变量的描述。它看起来如下:
Var Description
X1 Description of X1
X2 Description of X2
. ...
. ...
. ...
XN Description of XN
我如何使用表2标记表1?
答案 0 :(得分:2)
在SAS中执行此操作比在R或类似情况下要复杂一点;这不是一个简单的一步解决方案。但是,对于一些宏观语言的基本知识,它并不是特别复杂。
首先,您需要一个将变量名称和字符串作为参数的宏。
%macro label_it (var=, label=);
label &var. = "&label.";
%mend label_it;
然后您需要生成一个宏调用列表。假设您有一个包含变量varlabels
和var
的数据集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)。