首页 > 解决方案 > 如何在 SAS 中找到每个按组的观察之间的持续时间?

问题描述

我想按组计算观察之间的持续时间。到目前为止,我已经尝试在带有 by 语句的数据步中使用滞后。然而,这并没有创造我想要的结果。

假设我从 Group 和 Date 开始,如何创建差异列,如下所示?

谢谢!

    Group       Date       Difference
  Group 1    August 1         - 
  Group 1    August 3         2
  Group 1    August 6         3
  Group 1    August 10        4
  Group 2    Sept 1           -
  Group 2    September 20     19
  Group 2    September 25     5 
  Group 3     June 1          -
  Group 3     June 5          4

标签: saslagduration

解决方案


data want;
   set have;
   by group notsorted;
   difference=dif(date);
   if first.group then difference=.;
run;

推荐阅读