程序如下,数据23W条,每个ryear有12条数据,跑了六七个小时(如果电脑没自动关机的话),请各位大大优化下,第一次编:
egen g = group(code)
qui sum g
local Ng = r(max)
gen count=.
gen res = .
forvalues g = 1/`Ng'{
egen t=group(ryear) if (g==`g')
replace count =t if (g==`g')
qui sum count if (g==`g')
local Nt=r(max)
local Nm=r(min) +2
drop t
forvalues count = `Nm'/`Nt'{
gen window=.
replace window=1 if (count<`count' & count>`count'-3)
cap qui reg return rmrf_tmv smb_tmv hml_tmv if (g==`g' & window==1)
cap qui predict e if (g==`g' & count ==`count'),r
cap qui replace res = e if (g==`g' & count ==`count')
drop e window
}
}