全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3435 6
2012-05-07
请问,我要给几个数据集的变量改名字,但是变量的名字是随机产生的,我想把第一列都改成P1,第二列都改成P2。
比如,第一个数据集,第一个变量名是P23_4,第二列是P56_9.
然后第二个数据集,第一个变量名是P30_8,第二列是P45_9.
有若干个这样的数据集,那我要怎么改名呢?
二维码

扫码加我 拉你入群

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

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

全部回复
2012-5-8 08:44:37
顶一下
二维码

扫码加我 拉你入群

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

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

2012-5-11 15:22:27
我有个笨方法,就是写一个宏 用proc content 把要处理的数据集的变量名放在一个另一个数据集中,每次要修改变量名的时候就调用这个宏,把_n_=N(表示源数据集的第N个变量)的变量名取出来,然后把它改成 PN。希望有帮助。
二维码

扫码加我 拉你入群

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

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

2012-5-14 09:24:56
可以用proc sql 查询对应数据集的变量名insert到宏变量,然后在循环修改变量名
二维码

扫码加我 拉你入群

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

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

2012-5-14 10:25:18
data a;
a=1;
b=2;
c=3;
run;
proc contents data=a out=b noprint;run;
data b1;
set b;
renames=compress(name||'=p'||_n_);
keep renames;
run;
proc sql noprint;
        select renames into:renames separated by ' '
                from b1;
quit;
data c;
set a(rename=(&renames.));
run;
二维码

扫码加我 拉你入群

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

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

2012-5-14 17:49:27
赞大牛!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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