全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1331 4
2015-10-23
现在有这样一个数据集,变量为PnL:

Data Test;
input PnL @@;
cards;
64 -81 -91 6 -11 2 58 -93 -92 27 -123 -110 41 26 75 -37
;
run;

我想把这个PnL进行累加生成新的数据集,规则是
  • 按照观测的顺序从上到下依次累加
  • 正负号相同的相加在一起生成一个新的观测

生成的数据集应该是这样的:请问应该怎么写?感谢!!
64
-172(=-81-91)
6
-11
60(=2+58)
-185(=-92-92)
27
-233(=-123-110)
142(=41+26+75)
-37
二维码

扫码加我 拉你入群

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

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

全部回复
2015-10-23 22:28:51
求币啦{:2_31:}
复制代码
二维码

扫码加我 拉你入群

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

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

2015-10-24 16:22:57
zhengbo8 发表于 2015-10-23 22:28
求币啦
实测管用,谢谢啦!
话说怎么给币?
二维码

扫码加我 拉你入群

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

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

2015-10-24 22:25:52
Try this:

Data x;
Set x;
Retain cumx;
If _n_ = 1 then cumx =0;
If x*lag (x) <0 then cumx = 0;
Cumx = cumx + x;
Run;
二维码

扫码加我 拉你入群

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

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

2015-10-25 10:18:25
johnpark1 发表于 2015-10-24 22:25
Try this:

Data x;
感谢!这样很简洁 但是没有把中间的求和项去掉
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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