sum year
local yearnum=r(max)
***给行业进行连续编号且获取行业编号的最大值和最小值,方便下面的循环
egen indid = group(ind)
sum indid
local indnum1=r(min)
local indnum2=r(max)
***添加变量tfp,方便全要素生产率的值保存在变量tfp
gen tfp=.
***对行业和年份进行循环
tabulate indid
return list
forval indid = `indnum1'(1)`indnum2'{
disp `indid'
***确保每个年份和每个年份至少有20个样本,避免回归时样本太少
count if year == `year' & indid==`indid'{
if r(N)<20{
continue
}
***按照同行业和同年份进行回归分析
regress lnincome lnstaff lnasset lncash if year == `year' & indid==`indid'
***计算残差值
predict temp if year == `year' & indid ==`indid', residual
***把计算好的残差值保存在变量tfp
replace tfp=temp if year == `year' & indid ==`indid'
drop temp
}
}
我今天上午不知道怎么成功了一次,可中午用新的数据跑就不行了,用原来的数据也不行,求大神给萌新解答。。。