- data one;
- input az bz cz at bt ct xu hu;
- cards;
- 1 2 3 4 5 6 7 8
- ;;;
- run;
- data three;
- set one;
- id = open('work.one');
- length last $1;
- do i =1 to 8;
- get=varname(id,i);
- last=substr(get,length(get),1);
- if last="z" then var_with_z=get;
- else if last="t" then var_with_t=get;
- else var_unkown=get;
- output;
- call missing (var_with_z,var_with_t,var_unkown);
- end;
- drop i id get ;
- run;
复制代码
先用open function打开你的原数据集 并将这个数据集的id的值赋予一个变量id
varname function结合代表数据集的id和变量所在位置的数字 可以知道每个变量的名字
call missing是为了防止 几个变量retain他们的值 (不知道为什么不加这个function 最后结果就不对劲 你可以删掉观察结果的差异)