我在用stata按照普林斯顿大学的方法进行事件研究时,代码运行到循环之前的
egen id=group(group_id) 就一直报错说variable __000001 not found r(111) 是为什么??完整的代码如下use eventdates, clear
sort company_id
by company_id: gen eventcount=_N
by company_id: keep if _n==1sort company_idkeep company_id eventcount save eventcount use stockdata, clearsort company_idmerge m:1 company_id using eventcounttab _mergekeep if _merge==3drop _mergeexpand eventcount drop eventcountsort company_id dateby company_id date: gen set=_nsort company_id setsave stockdata2 use eventdates, clearsort company_idby company_id: gen set=_nsort company_id setsave eventdates2use stockdata2, clearmerge m:1 company_id set using eventdates2tab _merge egen group_id = group(company_id set)sort group_id dateby group_id: gen datenum=_nby group_id: gen target=datenum if date==event_dateegen td=min(target), by(group_id)drop targetgen dif=datenum-tdby group_id: gen event_window=1 if dif>=-10 & dif<=10egen count_event_obs=count(event_window), by(group_id)by group_id: gen estimation_window=1 if dif<-30 & dif>=-60egen count_est_obs=count(estimation_window), by(group_id)replace event_window=0 if event_window==.replace estimation_window=0 if estimation_window==.tab group_id if count_event_obs<21tab group_id if count_est_obs<30drop if count_event_obs <21drop if count_est_obs <30set more off gen predicted_return=.egen id=group(group_id)
后面还准备进行forvalues i=1(1)2680{ l id group_id if id==`i' & dif==0 reg ret market_ret if id==`i' & estimation_window==1 predict p if id==`i' replace predicted_return = p if id==`i' & event_window==1 drop p}
esttab using test.rtf
毕业论文急切求助!!