全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3208 8
2012-06-01

本人才刚学sas没多久。。遇到这种题。。

还请各位大牛帮忙啊~~~~><

第一次发求助帖。。。

先谢谢大家了!!><~


原题: 抽取数据集data.hf0000125分钟的高频交易记录。(即从930开始,每5分钟抽取一次,若在5分钟时点上没有对应记录则以5分钟后离该时点最近的一次记录作为其5分钟交易记录,例如在9:35:00没有记录,但在9:35:01有记录,则抽取9:35:01的记录作为其5分钟交易记录)。

data.hf000012(部分)stkcd  time                   prevclpr oppr000012 01JUN2006:09:25:50.00  10.4000  0.0000000012 01JUN2006:09:31:04.00  10.4000  10.3700000012 01JUN2006:09:31:42.00  10.4000  10.3700000012 01JUN2006:09:32:12.00  10.4000  10.3700000012 01JUN2006:09:34:40.00  10.4000  10.3700000012 01JUN2006:09:34:55.00  10.4000  10.3700000012 01JUN2006:09:35:08.00  10.4000  10.3700000012 01JUN2006:09:35:18.00  10.4000  10.3700000012 01JUN2006:09:36:02.00  10.4000  10.3700000012 01JUN2006:09:36:54.00  10.4000  10.3700000012 01JUN2006:09:37:30.00  10.4000  10.3700000012 01JUN2006:09:38:43.00  10.4000  10.3700000012 01JUN2006:09:39:22.00  10.4000  10.3700000012 01JUN2006:09:40:08.00  10.4000  10.3700000012 01JUN2006:09:40:41.00  10.4000  10.3700000012 01JUN2006:09:41:08.00    10.4000   10.3700000012 01JUN2006:09:41:47.00  10.4000  10.3700000012 01JUN2006:09:42:12.00  10.4000  10.3700
每次遇到某变量需符合一定要求 然后抽取另一种变量的时候我就傻了。。。。。。搜了好久都木有搜到相关资料。。很是愁苦啊>.<无奈只好发求助帖啦~希望大家能帮忙~谢谢大家!

二维码

扫码加我 拉你入群

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

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

全部回复
2012-6-1 21:34:21
呃 怎么发了帖数据格式就不对了。。。是
stkcd time prevclpr oppr 对应的四列数据…
000012 01JUN2006:09:25:50.00 10.4000  10.3700
二维码

扫码加我 拉你入群

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

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

2012-6-5 11:03:50
我来试试,楼主看看是不是符合你的要求:
data d1;
        set stck;
        retain time_lag 0;
        if time-time_lag>300 then do;
                output;
                time_lag=time;
        end;
        run;
二维码

扫码加我 拉你入群

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

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

2012-6-5 16:56:55
data a;
set hf000012;
if lag(time)>0 then do;
     if time-lag(time)>5*60 then output;
else do;output;end;
run;
二维码

扫码加我 拉你入群

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

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

2012-6-5 23:29:21
bolus123 发表于 2012-6-5 16:56
data a;
set hf000012;
if lag(time)>0 then do;
谢谢你回复我~
这个是日志。。


NOTE: 缺失值的生成是对缺失值执行操作的结果。
       指定每个位置的方式: (次数)(行:列)。
      1 530:13
NOTE: 从数据集 DATA.HF000012 读取了 65834 个观测。
NOTE: 数据集 WORK.A 有 65833 个观测和 31 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间         0.20 秒
      CPU 时间         0.18 秒

最后得到的数据集里基本还是每条记录都有诶。。
二维码

扫码加我 拉你入群

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

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

2012-6-5 23:30:39
bolus123 发表于 2012-6-5 16:56
data a;
set hf000012;
if lag(time)>0 then do;
对了 你少写个end~我补上了然后是这个日志~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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