希望得到的数据集:
a b c
a b c
1 2 3
4 5 6作者: shiyiming 时间: 2009-5-1 00:06 标题: Re: 如何将数据集的变量名作为第一行的观察值 data aaa;
input a$ b$ c$;
cards;
1 2 3
4 5 6
;
run;
data new(keep = a_ b_ c_ rename=(a_=a b_=b c_=c));
set aaa;
array var{*} $ a b c;
array var_{*}$ a_ b_ c_;
if _n_ = 1 then do;
do i=1 to 3;
var_{i}=vname(var{i});
end;
output;
output;
end;
do i=1 to 3;
var_{i}=var{i};
end;
output;
run;
proc print;run;
*my code is a little bit stupid but it works;
*Thanks;作者: shiyiming 时间: 2009-5-1 00:31 标题: Re: 如何将数据集的变量名作为第一行的观察值 有个问题,就是变量类型~~~。如果原数据集的类型不是文字,而是数字。
这跟stat的上个问题是一个。如果解决了上一个这个问题也就很容易解决了。。
在这个问题上我是用了偏方~~,macro跟datastep合用,大约也是15行就搞定,适用所有数据集。作者: shiyiming 时间: 2009-5-6 16:49 标题: Re: 如何将数据集的变量名作为第一行的观察值 请教楼上的大侠,可否把偏方share一下呢