Alexander,
try this:
gen other = Result2 != "TM Ei-svar"
bysort Id (Commdate) : replace other = sum(other)
by Id (Commdate) : gen dummy = other[_N]==0
drop other
Eva
2009/3/18 <[email protected]>:
> I have the following panel.
>
>
> Id Commdate Result2
> 400 05may2008 TM FAILURE
> 400 29may2008 DM FAILURE
> 400 05oct2008 TM Ei-svar
> 400 27oct2008 TM Ei-svar
> 400 30nov2008 TM Ei-svar
> 400 04jan2009 TM Ei-svar
>
> I would like to generate a binary variable that equals 1 if a category "TM Ei-svar" within result2 occurs. But I only want this to happen if no other category in Result2 is present within Id, either onwards are backwards in time (Commdate). Nick Cox and Martin Weiss gave excellent advice on an earlier related problem pointing me to 'bys' and using [_N] within replace statements. Nick also refered me to further free 'by' tricks at
>
> http://www.stata-journal.com/sjpdf.html?articlenum=pr0004
>
> However, I am still unable to solve the above problem. I tried
>
> gen kun_eisvar=0
> bys Id (Commdate):replace kun_eisvar=1 if ///
> (result2=="TM Ei-svar"& ///
> result2[_N]!="TM FAILURE"&result2[_N-1]!="TM FAILURE"& ///
> result2[_N]!="TM SUCCESS"&result2[_N-1]!="TM SUCCESS"& ///
> result2[_N]!="SUCCESS DM SMS 1999"&result2[_N-1]!="SUCCESS DM SMS 1999"& ///
> result2[_N]!="DM SUCCESS NY BIND"&result2[_N-1]!="DM SUCCESS NY BIND"& ///
> result2[_N]!="DM SUCCESS"&result2[_N-1]!="DM SUCCESS"& ///
> result2[_N]!="DM FAILURE"&result2[_N-1]!="DM FAILURE")
>
> though, this does not work. See an example below.
>
> Id Commdate Result2 kun_eisvar
> 400 05may2008 TM FAILURE 0
> 400 29may2008 DM FAILURE 0
> 400 05oct2008 TM Ei-svar 1
> 400 27oct2008 TM Ei-svar 1
> 400 30nov2008 TM Ei-svar 1
> 400 04jan2009 TM Ei-svar 1
>
> Because Result2 has other categories than 'TM Ei-svar' for Id=400 this observation should not equal 1.
>
> Any advice on where I went wrong is appreciated.
>
>
> Best wishes,
> Alexander
>
>
*
* 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/