全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8907 7
2011-07-06
想请问各位好朋友们,如何进行循环中的重命名

比如  do j=1 to 5;
i=j+1;
set  a (keep=id  x  rename=(id=  x=)) point=i;

我想达到的目的是使每次循环中set a 的变量均不同,这样不至于在PDV上覆盖原先的变量,也就是说  最好是使得 id=id j  x=xj ,j是循环中的数值,但是sas并不认识,她傻傻的把
j当作变量的一部分,我想过用id=id( j)  x=x(j),结果sas也报错,想问问各位好朋友,如何达到以上目的呢?谢谢大家了
二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-6 19:50:44
keep=(id x)试试
二维码

扫码加我 拉你入群

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

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

2011-7-6 21:07:22
2# honghejing
不大懂哦...
二维码

扫码加我 拉你入群

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

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

2011-7-7 06:41:53
用macro就可以了
二维码

扫码加我 拉你入群

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

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

2011-7-7 07:23:24
data a;
    length code $400;
        code="data wanted;";
        do i=1 to 5;
           code=cat(strip(code)
                     ,"i="||strip(i)||"; "
                 ," set sashelp.class(keep=name "||"rename=(name=name"||strip(i+1)||")) point=i;"
                 );
        end;
        code=cat(strip(code), " output; stop; run;");
        call execute(code);
run;
二维码

扫码加我 拉你入群

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

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

2011-7-7 10:25:08
shenliang_111 发表于 2011-7-6 19:29
想请问各位好朋友们,如何进行循环中的重命名

比如  do j=1 to 5;
i=j+1;
set  a (keep=id  x  rename=(id=  x=)) point=i;

我想达到的目的是使每次循环中set a 的变量均不同,这样不至于在PDV上覆盖原先的变量,也就是说  最好是使得 id=id j  x=xj ,j是循环中的数值,但是sas并不认识,她傻傻的把
j当作变量的一部分,我想过用id=id( j)  x=x(j),结果sas也报错,想问问各位好朋友,如何达到以上目的呢?谢谢大家了
It seems you only tell us a half of your problem.

It seems you can rename all variables at ones. Or you may use array .... In this way, you can process you problem in a single step rather than reading a data set several times.
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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