I have a longitudinal data set where I am following people going through different states over time, kind of like this:
Code:
clear input id year state 1 2001 1 1 2002 2 1 2003 2 2 2001 1 2 2002 1 2 2003 1 3 2001 3 3 2002 2 3 2003 2 4 2001 3 4 2002 2 4 2003 3 end label define statelabel 1 "Working" /// 2 "Retired" /// 3 "Homemaker" /// 4 "Retired after working" /// 5 "Retired after homemaking" label val state statelabel
Code:
. list, sepby(id) id year state 1. 1 2001 Working 2. 1 2002 Retired 3. 1 2003 Retired 4. 2 2001 Working 5. 2 2002 Working 6. 2 2003 Working 7. 3 2001 Homemaker 8. 3 2002 Retired 9. 3 2003 Retired 10. 4 2001 Homemaker 11. 4 2002 Retired 12. 4 2003 Homemaker
For doing so, I could so far only think of the following approach:
Code:
bys id (year): replace state = 4 if state[_n-1] == 1 & state == 2 bys id (year): replace state = 5 if state[_n-1] == 3 & state == 2
Code:
. list, sepby(id) id year state 1. 1 2001 Working 2. 1 2002 Retired after working 3. 1 2003 Retired 4. 2 2001 Working 5. 2 2002 Working 6. 2 2003 Working 7. 3 2001 Homemaker 8. 3 2002 Retired after homemaking 9. 3 2003 Retired 10. 4 2001 Homemaker 11. 4 2002 Retired after homemaking 12. 4 2003 Homemaker
Thanks for your consideration
Go
0 Response to Panel data manipulation
Post a Comment