请教:
我的数据是这样的:
tran_id annoucement_date date mv
1 1998-01-01 1997-12-20 500
1 1998-01-01 1997-12-22 600
......
1 1998-01-01 1997-12-31 811
1 1998-01-01 1998-01-01 900
2 1999-12-20 1999-12-01 700
2 1999-12-20 1999-12-02 600
2 1999-12-20 1999-12-07 800
......
2 1999-12-20 1999-12-19 555
2 1999-12-20 1999-12-21 500
......
对于每一个tran_id来讲,announcement_date是相同的,date并不是连续的,announcement_date和date都是字符型变量,我现在需要取到对于每一个tran_id,取到date与annoucement_date最接近或相同的日期的前十个记录,也即早于annoucement_date的前10个记录。
也即,如果date=annoucement_date,取到包括其在内的date比annoucement_date早的前十个记录。
如果date找不到和annoucement_date相同的,找到最接近annoucment_date的那一天,例如,对于1999-12-20来讲,是1999-12-21,而非1999-12-19,再找到包括其在内的前十个记录。
有点复杂,stata中可以实现吗?