使用Stata进行面板估算 - 如何通过数据子集进行

时间:2018-05-15 12:46:34

标签: stata

我需要在OLS和固定效果面板模型上运行回归。因变量由组变量排列。 OLS就像这样:

sysuse data, clear
bysort group: reg depVar expVar1 expVar2

这应该是有效的。但是,我还没有设法使用面板数据:

sysuse data, clear
xtset id year
bysort group: xtreg depVar expVar1 expVar2, fe

但是,在定义面板变量后,错误会终止该过程,因为存在重复的观察。那不是真正的"错误,因为按组排序后将没有重复项。

我知道我可以将数据重新整理为宽格式并为每次估算键入单独的行,但我想知道是否还有其他更方便的方法。

1 个答案:

答案 0 :(得分:2)

原则上它有效(见下面的代码):

webuse airacc, clear
xtset airline time, delta(1)
xtreg relsize pmi ait, fe
gen indicator = round(runiform())
bys indic: xtreg relsize pmi ait, fe

问题似乎是共和党人。我从未遇到过这样的问题。但是,您可以运行两个单独的回归:i)保留数据,ii)从组x中删除观察结果iii)运行回归iv)恢复数据并转到步骤i)。只要组是互斥的,这应该产生相同的结果。

webuse airacc, clear
xtset airline time, delta(1)
xtreg relsize pmi ait, fe
gen indicator = round(runiform())

preserve
drop if indic == 1
xtreg relsize pmi ait, fe
restore

preserve
drop if indic == 0 
xtreg relsize pmi ait, fe
restore

bys indic: xtreg relsize pmi ait, fe