andruw 发表于 2015-7-17 18:00 
试试这个
您好,我想请问下您,我想做一家公司前5年销售收入的回归,取残差,要如何才能实现呢?要求跟您回复的这个帖子差不多,即2012年算2008-2012,2011年从2007-2011年,以此类推,到2006年以2002-2006年数据计算。只不过我要取残差,这是按您的程序改写的,但运行不了,可否指教下哦?感谢~~
bysort Stkcd (Year): gen Year_order = _n
gen e1 = .
forvalue i = 12(-1)5 {
reg sales Year
if inrange(Year_order, `i'-4, `i'), by(Stkcd) g(e)
predict e1,r
replace e1 = e if Year_order == `i'
drop e
}