全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3244 8
2015-02-09
悬赏 50 个论坛币 已解决
工作簿.zip
大小:(9.4 MB)

 马上下载

本附件包括:

  • 工作簿.xlsx

求助!
如何能够将某个变量的某一行的观测值赋给之后的11行观测呢?例如我的数据是对于cusip为00163u10,newdate1为198906时,p2=6,我要把p2=6,赋给cusip相同,newdate1从198907直到199005的观测。要求是对于不断变化的cusip,每个p2都能被赋给之后的11个观测。我的数据情况是:被赋给的数据都来自每一年的6月,但是由于股票上市的时间不同,所以可能存在某些年份完全没有数据的情况(包括当年的6月)。谢谢啦!!!

现在赋值我能够做了,如下:
data r1;
set r;
retain old_p2;
by cusip newdate1;
if p2^=. then old_p2=p2;
else p2=old_p2;
run;
但是由于我的数据不是每个cusip一开始就有数据,所以会出现上一个cusip的最后一个值被赋给了下一个cusip。有没有办法解决呢?比如把每个cusip开始的空缺值删掉,使得每个cusip的p2一开始就是非空缺的呢?

最佳答案

mingfeng07 查看完整内容

试试这个:
二维码

扫码加我 拉你入群

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

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

全部回复
2015-2-9 13:30:53
少年时代balala 发表于 2015-2-11 09:18
可是结果出来确实被覆盖了,本来应该只有第16行一个8的
试试这个:
复制代码
二维码

扫码加我 拉你入群

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

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

2015-2-9 22:42:37
我看你的数据都已经排好序了,而且也在最前面的一行都添加了观测值,那接下来用个retain似乎就可以了啊。
二维码

扫码加我 拉你入群

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

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

2015-2-10 09:33:26
mingfeng07 发表于 2015-2-9 22:42
我看你的数据都已经排好序了,而且也在最前面的一行都添加了观测值,那接下来用个retain似乎就可以了啊。
能否具体一点呢?谢谢啦
二维码

扫码加我 拉你入群

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

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

2015-2-10 12:13:25
少年时代balala 发表于 2015-2-10 09:33
能否具体一点呢?谢谢啦
复制代码
二维码

扫码加我 拉你入群

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

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

2015-2-10 19:09:48
mingfeng07 发表于 2015-2-10 12:13
但是有一个问题,当某个cusip最开始的几个月没有数据的时候,就会被上一个cusip的最后一个值给覆盖掉。怎么办呢?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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