全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5535 6
2010-04-18
弱问个问题:我的数据集里有个变量sum,我想求它的累计值,并生成新变量sum1,在sas里怎么实现呢?如何编程呢?
r               cN Obs    SUM sum1
1112841825789.21  …
2124541553266.96  …
3129321409067  …
41453491324.36  …
51851684680.5  …
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-18 20:30:35
data temp;
input r c nobs sum;
datalines;
1        1        1284        1825789.21
2        1        2454        1553266.96
3        1        2932        1409067
4        1        453        491324.36       
5        1        851        684680.5
;
run;

data temp1;
set temp;
retain sum1;
sum1+sum;
run;
proc print data=temp1;
run;
二维码

扫码加我 拉你入群

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

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

2010-4-18 20:34:21
data a(drop=n1-n5);
input a@;
n1=lag(a);
n2=lag2(a);
n3=lag3(a);
n4=lag4(a);
n5=lag5(a);
n=sum(of n1-n5,a);
cards;
12
34
23
54
123
4565
;

run;
这个只是一个测试程序
如果观测数很多的话 写一个宏 循环就可以了
二维码

扫码加我 拉你入群

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

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

2010-4-18 20:47:39
谢谢指教!!!
二维码

扫码加我 拉你入群

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

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

2010-4-18 21:36:00
2# edumetric
比我写的好
二维码

扫码加我 拉你入群

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

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

2010-4-20 10:23:50
edumetric 发表于 2010-4-18 20:30
data temp;
input r c nobs sum;
datalines;
1        1        1284        1825789.21
2        1        2454        1553266.96
3        1        2932        1409067
4        1        453        491324.36        
5        1        851        684680.5
;
run;

data temp1;
set temp;
retain sum1;
sum1+sum;
run;
proc print data=temp1;
run;
貌似不用retain语句也行的。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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