现在有一个标注时间间隔的问题,
| ID | Date |
| A | 1/1/2015 |
| A | 1/3/2015 |
| A | 1/11/2015 |
| A | 1/14/2015 |
| A | 1/15/2015 |
| A | 1/31/2015 |
| A | 2/1/2015 |
| A | 2/2/2015 |
| A | 3/1/2015 |
数据如上,理论上同一个ID在10天之内不能出现三次,一旦出现三次的话,这个三个数据都要被标注(比如加一个FLAG =1),而数据自动跳转到下一个待检验的数据。
所以,根据上面数据,
第一步检查第一条数据,A是1月1号,然后找到它的第三条记录是1月11号,已经在10天之外了,所以第一条不需要被标注(FLAG=0 或者空值)。
再看第二条记录,是1月3号,同样的它对应的第三条记录是1月14号,所以它也不需要被标注,
第三条记录是1月11号,它的第三条记录是1月15号,已经在10天之内,所以,1月11号,1月14号,1月15号同时被标注(FLAG=1),直接跳到下一条记录。
下一条记录是1月31号,同样道理,2/1,2/2也同时被标注
跳到下一条记录也就是3/1号,因为它只有一条,不满足10天之内三条记录(没有下面的了),所以也没有被标注,所以应该得到下面的结果
| ID | Date | Flag |
| A | 1/1/2015 | . |
| A | 1/3/2015 | . |
| A | 1/11/2015 | 1 |
| A | 1/14/2015 | 1 |
| A | 1/15/2015 | 1 |
| A | 1/31/2015 | 1 |
| A | 2/1/2015 | 1 |
| A | 2/2/2015 | 1 |
| A | 3/1/2015 | . |
不知道这样的情况,用SAS的怎么实现,觉得肯定使用LAG function,但是下一步就不知道怎么开始了,感谢大家的帮助啊