mingfeng07 发表于 2015-1-8 19:32 
不知道你的id=1duration为8这个duration位置是在何处,另外如果一类id中只出现一个event如何处置?
你好,id=1 duration=8 是指这个观测对象在sample period里没有发生event,所以duration算作censored时间减去起始观测时间,如果一类id中只出现一个event,如id=4,那么算作有两个duration,第一个duration是1992至1994,第二个是1994至1996(censored)。
我原来写的code是这样的:
data a;
set a;
by ID YEAR;
retain base lag_base;
if first.ID then base=YEAR & lag_base=YEAR & DURATION=.;
else if EVENT=1 then DURATION=YEAR-base & lag_base=YEAR;
else DURATION=.;
base=lag_base;
if last.ID & EVENT=0 then DURATION=YEAR-base;
run;
但是这个存在问题,不能达到我想要的结果,我也不知道问题出在哪里。谢谢!