网上找到一段OLS的算法,但是运行的过程中报错,显示invalid syntax,怎么回事呢?有人计算过,可以指点一二吗?
***对行业和年份进行循环
forval year = 2000(1) `yearnum' {
disp `year'
forval indid = `indnum1'(1)`indnum2'{
disp `indid'
***确保每个年份和每个年份至少有20个样本,避免回归时样本太少
count if year == `year' & indid==`indid'
if r(N)<20{
continue
}
***按照同行业和同年份进行回归分析
regress lnsales lnworkernum lnasset lncashpay if year == `year' & indid==`indid'
***计算残差值
predict temp if year == `year' & indid ==`indid', residual
***把计算好的残差值保存在变量tfp
replace tfp=temp if year == `year' & indid ==`indid'
drop temp
}
}
drop if tfp==.
save "$pathtfp",replace