sungmoo 发表于 2012-4-19 05:53 
*其他帖中已有相关讨论
egen g=group(industry)
su g
clear all
set more off
cap log close
cd "C:\Users\Administrator\Desktop\新建文件夹"
use "新新2位数行业新数据.dta", clear
egen g=group(businessnature4)
su g
loc n=r(max)
forv i=1/`n'{
keep if businessnature4==`i'
xtbalance, range(2005 2007)
reg Y2 X1 X2, noc robust
est store R1
outreg2 using 2digit3.xls, cttop(OLS:C`i') e(all) append
outreg2 using 2digitnoa3.xls, cttop(OLS:C`i') noas append
xtabond2 Y2 X1 X2, gmm(X1) iv(zk allempl_arvenum X2) noc robust
est store G1
outreg2 using 2digit3.xls, cttop(GMM:C`i') e(all) append
outreg2 using 2digitnoa3.xls, cttop(GMM:C`i') noas append
}
上面这个程序,是这样吗?
但是你看循环语句里面,那个Keep实际上已经把其他行业的数据删掉了,怎么样再下次循环的时候把其他行业的数据找回来,或者有什么办法不需要删除其他行业呢?