蓝色 发表于 2007-9-13 12:53
*方法3:包含截距项和所有的虚拟变量,必须的加约束条件
constraint define 1 dumu1+dumy2+dumy3+dumy4+dumy5+dumy6=0
cnsreg y x dumy1-dumy6,constraint(1)
bys id:egen s=count(id)
foreach v of var dumy*{
replace `v'=`v'/s
}
cons 1 dumy1+dumy2+dumy3+dumy4+dumy5+dumy6=0
cnsreg y x dumy*, c(1)
*****************************************
**对于一般情形(panels有任意多个,且各panel可以不平衡)
ta id,g(_id)
bys id:egen s=count(id)
foreach v of var _id*{
loc c="+`v'" + "`c'"
replace `v'=`v'/s
}
loc c=substr("`c'",2,.)+"=0"
cons 1 `c'
cnsreg y x* _id*,c(1)