楼主: carol1222
3457 6

[问答] 几个数据集,修改变量名 [推广有奖]

  • 5关注
  • 0粉丝

硕士生

41%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1283 点
帖子
157
精华
0
在线时间
74 小时
注册时间
2010-5-6
最后登录
2014-11-13

楼主
carol1222 发表于 2012-5-7 16:19:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问,我要给几个数据集的变量改名字,但是变量的名字是随机产生的,我想把第一列都改成P1,第二列都改成P2。
比如,第一个数据集,第一个变量名是P23_4,第二列是P56_9.
然后第二个数据集,第一个变量名是P30_8,第二列是P45_9.
有若干个这样的数据集,那我要怎么改名呢?
二维码

扫码加我 拉你入群

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

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

关键词:数据集 改名字 改名字

花有再开日 人无再少年

沙发
carol1222 发表于 2012-5-8 08:44:37
顶一下
花有再开日 人无再少年

藤椅
hcydlee 发表于 2012-5-11 15:22:27
我有个笨方法,就是写一个宏 用proc content 把要处理的数据集的变量名放在一个另一个数据集中,每次要修改变量名的时候就调用这个宏,把_n_=N(表示源数据集的第N个变量)的变量名取出来,然后把它改成 PN。希望有帮助。
80 字节以内
不支持自定义 Discuz! 代码

板凳
jolylc 发表于 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;

地板
poetony 发表于 2012-5-14 17:49:27
赞大牛!

7
若水烟寒 发表于 2012-11-11 15:52:04
乾坤神龙 发表于 2012-5-14 10:25
data a;
a=1;
b=2;
您好!我想问下那个set a(rename=(&renames.));这一句中的rename后面的.表示什么意思?谢谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 23:25