全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1628 4
2010-12-26
下面这组data,打算对列求和。 用data step可以如下做,现在打算把
   sum1+summer1;
   sum2+summer2;
   sum3+summer3;
   sum4+summer4;
换成用macro来改写,应该怎么写?  折腾了好久都没弄出来,求教。
我试着用array可以做,macro总是说有问题。谁能帮我写一下code? 谢谢

data wide;
   input name $ summer1-summer4;
   cards;
   a 1 2 3 4
   b 1 2 3 4
   c 1 2 3 4
;

data sum_data;
   set wide end=lastobs;
   sum1+summer1;
   sum2+summer2;
   sum3+summer3;
   sum4+summer4;
   keep sum1-sum4;
   if lastobs then output;
run;

proc print data=sum_data;
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2010-12-26 21:37:20
复制代码
替换你的
sum1+summer1;
   sum2+summer2;
   sum3+summer3;
   sum4+summer4;
二维码

扫码加我 拉你入群

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

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

2010-12-31 08:03:10
谢谢  确实是的
二维码

扫码加我 拉你入群

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

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

2010-12-31 09:00:12
没必要用宏,数组即可:
复制代码
二维码

扫码加我 拉你入群

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

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

2010-12-31 09:02:45
这种算法,用 proc means ,我觉得是最合适的:
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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