全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6824 3
2009-04-22

各位大侠:

       请教如何取出数据中每周的第一条记录和最后一条记录。数据集已经按照时间排序。

例如:

tdate               code       price

20090327      000001    5.4   /*这天是周五*/

20090330      000003    7.8  /*周一*/

20090331     000067    6.7  /*周二*/

...

我用了base中的weekday函数,但是居然推算出有星期六的,而股票不可能在周六交易。

因为base是针对6.2版本的所以没有week函数的用法,请教怎么使用呢?

还有没有其他办法呢?

请各位高手不吝赐教。

多谢!

[此贴子已经被作者于2009-4-22 10:42:19编辑过]

二维码

扫码加我 拉你入群

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

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

全部回复
2009-4-22 12:12:00

可以写sql来完成

二维码

扫码加我 拉你入群

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

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

2009-4-24 22:38:00

谢谢

能说的更详细些么?这样无从下手啊。

二维码

扫码加我 拉你入群

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

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

2009-4-25 22:50:00

/* 1. create the week variable */
data test_1;
    set test;
 Tweek = week(tdate);
 Tyear = year(tdate);
run;

/* 2. sort the dataset by year and week */
proc sort data=test_1 out=test_2;
 by Tyear Tweek;
run;

/* 3. find the first and last records of each week */
data test_3;
    set test_2;
 by Tyear Tweek;
 if first.Tweek or last.Tweek then output;
run;

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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