全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3005 8
2010-08-30
请问如何将一个数据里的所有变量(上百个): a, b, c, d, e, ...
一次全变成有规律的:例如:a1,a2,  a3,  a4,  a5,  ...

感谢您的赐教!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-8-30 00:58:22
data crackman;
input a b c d e f@@;
datalines;
1 2 3 4 5 6
4 6 7 8 9 9
9 8 7 6 5 4
;
run;
proc contents data=crackman out=a(keep=name) noprint;
run;
data _null_;
set a;
call symput('a'||left(_n_),trim(name));
run;
proc sql noprint;
select count(name) as n into:n from a ;
quit;
%macro rename;
data crackman;
set crackman;
rename
%do i=1 %to &n.;
&&a&i.=a&i.
%end; ;
run;
%mend rename;
%rename;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-30 08:05:16
data crackman;
input a b c d e f@@;
datalines;
1 2 3 4 5 6
4 6 7 8 9 9
9 8 7 6 5 4
;
run;
proc contents data=crackman out=a(keep=name) noprint varnum;
run;
data _null_;
set a end=last;
if _n_=1 then  call execute("Proc datasets nolist; modify crackman; rename ");
call execute(" "||strip(name)||"=a"||strip(_n_));
if last then call execute("; run; quit;");
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-30 12:37:00
3# pobel
谢谢这位高人的热心帮助!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-30 12:38:28
2# crackman
多谢多谢!!学到了很多!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-30 13:48:30
data a1;
input  a b c d @;
cards;
1        1  1  1
;
run;
proc contents data=a1 out=a2(keep=name type);
run;
data a3;
set a2;
new_name="name"||left(_n_);
run;
proc sql;
select trim(name)||"="||new_name  into: change_name SEPARATED BY " "
from a3;
quit;
%put &change_name.;
data final;
set a1;
rename &change_name.;
run;
有点小复杂 我写的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群