作者XYH (斐娟粉丝>//<)
看板Statistics
标题Re: [程式] SAS资料计算
时间Fri Jun 25 18:42:51 2010
※ 引述《jupit (我也想买DELL!)》之铭言:
: ------------------------------------------------------------------------
: 我有一组存活资料如下(DAYS是我想产生的变数)
: Obs DATE Response DAYS
: 1 09AUG2007 1
: 2 23AUG2007 1
: 3 06SEP2007 2 15
: 4 20SEP2007 2 15
: 5 05OCT2007 1
: 6 16OCT2007 1
: 7 30OCT2007 2
: 8 29NOV2007 1
: 9 01JAN2008 2 30
: 10 10JAN2008 2 30
: 11 19JAN2008 2 30
: 12 30JAN2008 2 30
: 13 10JUN2008 1
: 先以时间做排序後,我想计算出当response=2时为期多久
: 例如当OBS:3-4时,则DAYS=20SEP2007-06SEP2007+1=15
: 而当OBS:7这笔则不做处理
: OBS:9-12则DAYS=30JAN2008-01JAN2008+1=30
: 目前还想不到用怎样的逻辑去写出程式,所以想请问各位大大会怎麽做?
: ----------------------------------------------------------------------------
我觉得应该可以用LAG函数
如果前後都是RESPONSE为相同时,
执行动作。
DATA NewDATA;
SET OldData;
IF RESPONSE=LAG(RESPONSE) THEN DayData=DAYS-LAG(DAYS);
RUN;
执行完毕之後再把日期降幂排列,
如果前後一致(RESPONSE),
再把DAYS设为跟前面一样
不知道可不可行?
--
关於证券、投资的部落格,欢迎大家来讨论
http://xyh1.pixnet.net/blog
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.64.84.219
※ 编辑: XYH 来自: 203.64.84.219 (06/25 18:46)
1F:→ jupit:我之前没用过LAG,不过似乎是个好想法 06/25 21:24
2F:→ jupit:我试看看能不能写出来,再po上来 06/25 21:25