小组数据:给出去年对其他年份的所有观察值

时间:2016-11-09 17:17:55

标签: panel stata

  • 我有x个农民。
  • 每个农民都有一个可变区域,表明他住在哪里。
  • 对于每个农民,我有多年的数据。 (然而,不平衡 面板!)

如果对于一个农民,变量Z == 0,那么我想将该农民的所有观察结果的变量区域更改为该农民的区域去年的值。

例如:

farmID   - year     - region    - Z
1        - 2004     - BE100     - 0
1        - 2005     - BE100     - 0
1        - 2006     - BE112     - 0

应该成为

farmID   - year     - region    - Z
1        - 2004     - BE112     - 0
1        - 2005     - BE112     - 0
1        - 2006     - BE112     - 0

我试过了:

by farmID, if Z==0: replace region[n] = region[_N]

但这不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

bysort farmID (year) : gen last_region = region[_N]
#assuming Z does not vary within farmers
replace region = last_region if Z == 0