面板数据:将去年的值赋予其他年份的所有观察值

panel data: give value of the last year to all the observations of the other years

如果对于一个农民,变量 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]

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

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