【发布时间】:2020-07-11 19:14:43
【问题描述】:
我对 SAS 很陌生,所以我提前道歉。我正在使用 SAS 大学版。
我有来自某一年(1997-2017)的 20 个数据集,所有数据集都包含 30 个变量中捕获的信息。现在,我想将相同的代码应用于所有数据集,但某些代码块仅应用于特定年份的变量。因此,我想使用从 1997 年到 2017 年的宏来执行类似...
LIBNAME IN '/folders/myfolders/fake_data';
%let j= 1997 to 2017;
data fake_&j;
set fake_data;
proc import out= fake_&j datafile = "/folders/myfolders/fake_data/mz_&j.dta" replace
* Year;
year = j;
要访问数据集 fake_1997.dta,创建一个取数据集名称 (1997) 值的年份变量,应用代码(见下文),然后对 mz_1998.dta 执行相同操作,依此类推。
我想应用于所有数据的代码示例是
* Weights;
if (j GE 1997 AND j LE 2004) then
shrf = x;
else if (j GE 2005 AND j LE 2017) then
shrf = y;
非常感谢您!
【问题讨论】:
-
如果您有基本案例的工作代码,则可以按照此处的步骤自动执行该过程。 github.com/statgeek/SAS-Tutorials/blob/master/…