面板数据:将去年的值赋予其他年份的所有观察值
panel data: give value of the last year to all the observations of the other years
- 我有 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]
但这不起作用。有什么建议吗?
bysort farmID (year) : gen last_region = region[_N]
#assuming Z does not vary within farmers
replace region = last_region if Z == 0
- 我有 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]
但这不起作用。有什么建议吗?
bysort farmID (year) : gen last_region = region[_N]
#assuming Z does not vary within farmers
replace region = last_region if Z == 0