使用SAS按组计算日期间的持续时间
我正在计算一个孩子被寄养的时间。不过,我有一些问题。我的数据应该如下所示:
对于每个个人(ID),我需要计算持续时间(end_date-start_date)。不过,我亦须适用一项规则,规定如果在同一类型的寄养中,在结束日期与开始日期之间的时间少于5天,则应视为连续安置。如果在同一类型的寄养人的同一类型的寄养中,在结束日期和开始日期之间有超过五天的时间,那就是一种新的安置。如果这是一种新型的寄养方式,那就是一种新的安置方式。变量“持续时间”是如何计算的,应该如何计算。
我尝试了下面的代码,但它没有正确的工作方式+我不知道如何应用我的“五天”-rule。
代码语言:javascript运行复制Proc sort data=have out=want;
by id type descending start_date;
run;
Data want;
set want;
by id type;
retain last_date;
if first.id or first.type then do;
last_date=end_date;
end;
if last.id or last.type then duration=(end_date-start_date);
run;任何帮助都是非常感谢的!