Hi there,

I am trying to create new observations of a variable based on the observations of other variables. Basically I want to surround the non-missing observations with other observations based on their proximity to said non-missings. I identify growth breaks and categorize them, but the break dates are only single country-year obs and the category is more of a phase.

I was hoping someone could suggest some code for how to get the 5 missing observations before each non-missing obs in grpat2 and the 5 after to equal year in the corresponding row.

So far,
I generate a non-missing value in grpat2 whenever growth_pattern = 1 or 3

gen grpat2 = .
replace grpat2 = year if growth_pattern == 1
replace grpat2 = year if growth_pattern == 3
and I would appreciate help recording the 5 surrounding observations in each direction to also be equal to the year.

Let me know if I can clarify anything.
Thank you,
Sam



Code:
* Example generated by -dataex-. For more info, type help dataex
clear
input str52 country_name double year float(b1 b2 b3 b4 growth_regime p0_regime p1_regime p2_regime p3_regime p4_regime pr_diff growth_pattern grpat2)
"Angola"     1981 1988 1994 2008 . 3 3 0 0 0 0  0 2    .
"Angola"     1982 1988 1994 2008 . 3 3 0 0 0 0  0 2    .
"Angola"     1983 1988 1994 2008 . 3 3 0 0 0 0  0 2    .
"Angola"     1984 1988 1994 2008 . 3 3 0 0 0 0  0 2    .
"Angola"     1985 1988 1994 2008 . 3 3 0 0 0 0  0 2    .
"Angola"     1986 1988 1994 2008 . 3 3 0 0 0 0  0 2    .
"Angola"     1987 1988 1994 2008 . 3 3 0 0 0 0  0 2    .
"Angola"     1988 1988 1994 2008 . 3 3 0 0 0 0  0 2    .
"Angola"     1989 1988 1994 2008 . 4 0 4 0 0 0  0 2    .
"Angola"     1990 1988 1994 2008 . 4 0 4 0 0 0  0 2    .
"Angola"     1991 1988 1994 2008 . 4 0 4 0 0 0  0 2    .
"Angola"     1992 1988 1994 2008 . 4 0 4 0 0 0  0 2    .
"Angola"     1993 1988 1994 2008 . 4 0 4 0 0 0  0 2    .
"Angola"     1994 1988 1994 2008 . 4 0 4 0 0 0 -3 1 1994
"Angola"     1995 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     1996 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     1997 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     1998 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     1999 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     2000 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     2001 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     2002 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     2003 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     2004 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     2005 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     2006 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     2007 1988 1994 2008 . 1 0 0 1 0 0  0 2    .
"Angola"     2008 1988 1994 2008 . 1 0 0 1 0 0  3 3 2008
"Angola"     2009 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2010 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2011 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2012 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2013 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2014 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2015 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2016 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2017 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2018 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Angola"     2019 1988 1994 2008 . 4 0 0 0 4 0  0 2    .
"Azerbaijan" 1991 1996 2009    . . 4 4 0 0 0 0  0 2    .
"Azerbaijan" 1992 1996 2009    . . 4 4 0 0 0 0  0 2    .
"Azerbaijan" 1993 1996 2009    . . 4 4 0 0 0 0  0 2    .
"Azerbaijan" 1994 1996 2009    . . 4 4 0 0 0 0  0 2    .
"Azerbaijan" 1995 1996 2009    . . 4 4 0 0 0 0  0 2    .
"Azerbaijan" 1996 1996 2009    . . 4 4 0 0 0 0 -3 1 1996
"Azerbaijan" 1997 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 1998 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 1999 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2000 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2001 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2002 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2003 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2004 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2005 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2006 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2007 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2008 1996 2009    . . 1 0 1 0 0 0  0 2    .
"Azerbaijan" 2009 1996 2009    . . 1 0 1 0 0 0  2 3 2009
"Azerbaijan" 2010 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Azerbaijan" 2011 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Azerbaijan" 2012 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Azerbaijan" 2013 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Azerbaijan" 2014 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Azerbaijan" 2015 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Azerbaijan" 2016 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Azerbaijan" 2017 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Azerbaijan" 2018 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Azerbaijan" 2019 1996 2009    . . 3 0 0 3 0 0  0 2    .
"Bahrain"    1981 1986 1993 2000 . 4 4 0 0 0 0  0 2    .
"Bahrain"    1982 1986 1993 2000 . 4 4 0 0 0 0  0 2    .
"Bahrain"    1983 1986 1993 2000 . 4 4 0 0 0 0  0 2    .
"Bahrain"    1984 1986 1993 2000 . 4 4 0 0 0 0  0 2    .
"Bahrain"    1985 1986 1993 2000 . 4 4 0 0 0 0  0 2    .
"Bahrain"    1986 1986 1993 2000 . 4 4 0 0 0 0 -2 1 1986
"Bahrain"    1987 1986 1993 2000 . 2 0 2 0 0 0  0 2    .
"Bahrain"    1988 1986 1993 2000 . 2 0 2 0 0 0  0 2    .
"Bahrain"    1989 1986 1993 2000 . 2 0 2 0 0 0  0 2    .
"Bahrain"    1990 1986 1993 2000 . 2 0 2 0 0 0  0 2    .
"Bahrain"    1991 1986 1993 2000 . 2 0 2 0 0 0  0 2    .
"Bahrain"    1992 1986 1993 2000 . 2 0 2 0 0 0  0 2    .
"Bahrain"    1993 1986 1993 2000 . 2 0 2 0 0 0  0 2    .
"Bahrain"    1994 1986 1993 2000 . 3 0 0 3 0 0  0 2    .
"Bahrain"    1995 1986 1993 2000 . 3 0 0 3 0 0  0 2    .
"Bahrain"    1996 1986 1993 2000 . 3 0 0 3 0 0  0 2    .
"Bahrain"    1997 1986 1993 2000 . 3 0 0 3 0 0  0 2    .
"Bahrain"    1998 1986 1993 2000 . 3 0 0 3 0 0  0 2    .
"Bahrain"    1999 1986 1993 2000 . 3 0 0 3 0 0  0 2    .
"Bahrain"    2000 1986 1993 2000 . 3 0 0 3 0 0  0 2    .
"Bahrain"    2001 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2002 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2003 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2004 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2005 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2006 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2007 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2008 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2009 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2010 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2011 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
"Bahrain"    2012 1986 1993 2000 . 3 0 0 0 3 0  0 2    .
end
label values growth_regime gr_regimes_labels
label values p0_regime gr_regimes_labels
label values p1_regime gr_regimes_labels
label values p2_regime gr_regimes_labels
label values p3_regime gr_regimes_labels
label values p4_regime gr_regimes_labels
label def gr_regimes_labels 1 "Crisis", modify
label def gr_regimes_labels 2 "Stagnant", modify
label def gr_regimes_labels 3 "Stable", modify
label def gr_regimes_labels 4 "Miracle", modify
label values growth_pattern gr_pattern_labels
label def gr_pattern_labels 1 "Acceleration", modify
label def gr_pattern_labels 2 "Maintenance", modify
label def gr_pattern_labels 3 "Decline", modify