Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Nick Cox <njcoxstata@gmail.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: Creating new variable from existing observations |
Date | Sat, 9 Jun 2012 09:19:03 +0100 |
I don't think I understand all of this, but these calculations may be suggestive egen lastM = max(YEAR / (M_Treat == 0)), by(Xcode Mcode) egen lastX = max(YEAR / (X_Treat == 0)), by(Xcode Mcode) egen valueM = min(M_imp / (YEAR == lastM)), by(Xcode Mcode) egen valueX = min(M_imp / (YEAR == lastX)), by(Xcode Mcode) On Sat, Jun 9, 2012 at 1:00 AM, Suryadipta Roy <sroy2138@gmail.com> wrote: > Dear Statalisters, > > I am trying to create the last column (i.e. the variable M_imp_new) > where the data take the following form: > > Xcode Mcode YEAR X_exp M_imp X_Treat M_Treat M_imp_new > CAN MEX 1990 2 8 1 0 8 > CAN MEX 2000 3 9 1 1 8 > CAN MEX 2010 4 9 1 1 8 > MEX CAN 1990 8 2 0 1 2 > MEX CAN 2000 9 3 1 1 2 > MEX CAN 2010 9 4 1 1 2 > US CAN 1990 2 2 0 1 2 > US CAN 2000 1 3 0 1 2 > US CAN 2010 3 4 1 1 2 > US MEX 1990 2 8 0 0 8 > US MEX 2000 1 9 0 1 8 > US MEX 2010 3 9 1 1 8 > MEX US 1990 8 2 0 0 1 > MEX US 2000 9 1 1 0 1 > MEX US 2010 9 3 1 1 1 > CAN US 1990 2 2 1 0 1 > CAN US 2000 3 1 1 0 1 > CAN US 2010 4 3 1 1 1 > > The M_imp_new is supposed to take the value of M_imp before M-treat > changes from 0 to 1 for each country. E.g. for MEX, M-imp = 8 in > year==1990 (M-treat=0) and then MEX experienced the treatment such > that M_Treat = 1 in year==2000. Thus, M_imp_new= 8 for MEX. * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/