I guess Nick's solution will give a false-positive in observation C
(which also has a pattern 100), but not identify observation A, which
ends in one 0 following a 1.
I interpret the question as "how to identify observations ending in
0-spell after 1-spell". Here is how:
input str5 years
"11110"
"11100"
"11001"
"10111"
"00001"
"00000"
end
gen indicator=strpos(strreverse(years),"0")>strpos(strreverse(years),"1")
& strpos(years,"1")>0
list
//-----------------------------------------------------------------
the code requires at least one occurance of 1-spell, if this is not
necessary, remove "& strpos(years,"1")>0".
Best regards, Sergiy Radyakin
On 4/16/08, Nick Cox <[email protected]> wrote:
> I don't understand what differentiates A and B from the other three,
> but you can concatenate all and then search for patterns.
>
> . egen all = concat(yr?)
> . l if strpos(all, "100")
>
> Nick
> [email protected]
>
> Jon Schwabish
>
> I'm hoping someone can help me with this b/c I'm
> totally stumped. I have a wide data set and am trying
> to identify observations that have a series of
> consecutive zeros following any positive number.
>
> For example, say I have 5 years of data and the
> following information for 5 observations:
>
> ObsA 1 1 1 1 0
> ObsB 1 1 1 0 0
> ObsC 1 1 0 0 1
> ObsD 1 0 1 1 1
> ObsE 0 0 0 0 1
>
> The variable names are something like yr1, yr2, yr3,
> yr4, yr5. I would like to create a variable that
> differentiates ObsA and ObsB from the other three.
>
>
> *
> * For searches and help try:
> * http://www.stata.com/support/faqs/res/findit.html
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
>
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/