全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8200 8
2010-04-27
如果我有一个DATA SET A,不知道里面有多少变量,也不知道变量的名字。

请问有没有办法讲变量的名称改为:COL1,COL2,COL3,...COLN?
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-27 03:59:04
很久没用SAS了,下面这个修改了一下我以前的笔记。虽然不一定十分正确,应该可以给你一个方向了。
* make the variable names into Macro variables;
proc sql noprint;
   select distinct name
      into :varname1-:varname999
         from your-data;
   quit;

data temp;
    set your-data;
%do i = 1 %to &sqlobs; *the &sqlobs tells you how many variables were read in previous SQL;
    rename &&varname&i=col&i;
%end;
二维码

扫码加我 拉你入群

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

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

2010-4-27 04:25:00
2# xfyx

thank you so much :)
二维码

扫码加我 拉你入群

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

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

2010-4-27 06:12:33
2# xfyx

这个%do loop在DATA STEP可以用么。。。。
二维码

扫码加我 拉你入群

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

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

2010-4-27 08:11:05
rockfido 发表于 2010-4-27 03:04
如果我有一个DATA SET A,不知道里面有多少变量,也不知道变量的名字。

请问有没有办法讲变量的名称改为:COL1,COL2,COL3,...COLN?
Use sas utility procedure is the right way.

data t1;
a1=0;a2=0;ccd3=0;
run;

data _null_;
  if 0 then set t1;
  array _allvar_(*) _all_;
  call execute('proc datasets; modify t1;rename ') ;
  do i=1 to dim(_allvar_);
    rename=catt(vname(_allvar_(i)),'=col',i);
    call execute(rename) ;
  end;
  call execute(';run;quit;') ;
  stop;
  run;
二维码

扫码加我 拉你入群

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

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

2010-4-27 09:35:47
5# bobguy
这个效率高点
最好不要用SQL
特别是大量数据的时候
效率差的很大
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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