- data test1;
- input firm $ year return;
- cards;
- 000001 1996 0.1
- 000001 1997 0.05
- 000001 1998 0.05
- 000001 1998 0.05
- 000001 2000 0.05
- 000001 2001 0.05
- 000001 2002 0.05
- 000001 2003 0.05
- 000001 2004 0.05
- 000001 2005 0.05
- 000001 2006 0.05
- 000001 2007 0.05
- 000001 2008 0.05
- 000001 2009 0.05
- 000001 2010 0.05
- 000001 2011 0.01
- 000002 1998 0.02
- 000002 1999 0.04
- 000002 2000 0.04
- 000002 2001 0.04
- 000002 2002 0.04
- 000002 2003 0.04
- 000002 2004 0.04
- 000002 2005 0.04
- 000002 2006 0.04
- 000002 2007 0.04
- 000002 2008 0.04
- 000002 2009 0.04
- 000002 2010 0.04
- 000002 2011 0.01
- ;
- run;
- data test2;
- input firm $ eventyear;
- cards;
- 000001 2004
- 000001 2006
- 000002 2003
- 000002 2007
- ;
- run;
- data test3;
- set test2;
- by firm;
- dif_year=dif(eventyear);
- if first.firm then dif_year=.;
- if dif_year>3;
- run;
- proc sql noprint;
- create table test4 as select
- a.*
- from test2 a,test3 b
- where a.firm=b.firm;
- quit;
- proc sql noprint;
- create table test5 as select
- a.firm as a_firm, b.firm as b_firm, year,return, eventyear
- from test1 a,test4 b
- where a.firm=b.firm and eventyear-3<=year<=eventyear+3
- order by a_firm,eventyear,year;
- quit;


雷达卡




京公网安备 11010802022788号







