全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1108 1
2012-07-11
我用proc means生成了一个数据集,里面是各个变量的均值和标准差(我已经预处理过了),均值变量名字均为varname_mean;
标准差变量名字均为varname_std,如图,我想对每个平均的指标新建一个变量,为字符型的,名字为varname,值为“mean±std”,哪位高手告诉我怎么做。我已经对均值和标准差做了多个宏变量可以一下对应,最后就是不知道怎么新建变量,名字为原变量名称,如age_mean,我想新建变量,名字为age,不要让我一个一个来,我在做宏程序。
前面的程序如下
proc sql;
select count(*) into:number from varlist;
quit;
%let a=%eval((&number-1)/2);
proc sql;
select name into:mean1-:mean%left(&a) from varlist
where  label="均值";
quit;
proc sql;
select name into:std1-:std%left(&a) from varlist
where label="标准差";
quit;
附件列表
QQ截图20120711172048.jpg

原图尺寸 31.35 KB

QQ截图20120711172048.jpg

二维码

扫码加我 拉你入群

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

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

全部回复
2012-7-11 17:54:57
你这样做,取varname共a个宏变量,而varname_StdDev、varname_Mean杠后面的都一样,每读一行就循环
一次,%do i=1 %to &a;
          &&varname&i=&&varname&i._Mean±&&varname&i._StdDev;
          drop &&varname&i._Mean &&varname&i._StdDev;
         %end;
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

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