Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: Creating a dummy variable under certain conditions
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: Creating a dummy variable under certain conditions
Date
Mon, 4 Jun 2012 11:06:37 +0100
Quite so. Let's try something different.
gen history = ""
bysort gvkey (date) : replace history = string(viol) + history[_n-1]
gen OK = substr(history, 1, 5) == "10000"
Nick
On Mon, Jun 4, 2012 at 10:38 AM, sebas nicaise <[email protected]> wrote:
>
> Nick your code is almost right. Only it gives a 1 for these cases while it should not:
>
> date gvkey viol myindicator
> 2000q3 1045 0 0
> 2000q4 1045 0 0
> 2001q1 1045 0 0
> 2001q2 1045 0 0
> 2001q3 1045 1 1
> 2001q4 1045 1 0
> 2002q1 1045 0 0
> 2002q2 1045 0 0
> 2002q3 1045 0 0
> 2002q4 1045 1 1
> 2003q1 1045 1 0
> 2003q2 1045 0 0
>
> You see, because viol is 1 again after the new viol reported a 1. So it is wrong because there are only 3 quarters of 0 in the viol dummy.
>
>
> Abrihmanyu, in your code it gives to few 1's But if it reports a 1 it is right. I do not see the error in the code...
>
>
>
>
> ----------------------------------------
>> Date: Mon, 4 Jun 2012 09:41:24 +0100
>> Subject: Re: st: Creating a dummy variable under certain conditions
>> From: [email protected]
>> To: [email protected]
>>
>> bysort gvkey (date) : gen cuviol = sum(viol)
>> by gvkey : gen myindicator = (viol == 1) & (cuviol[_n-1] ==
>> cuviol[_n-4]) & _n> 4
>>
>> Nick
>>
>> On Mon, Jun 4, 2012 at 9:22 AM, sebas nicaise <[email protected]> wrote:
>>
>>> It is important that new viol dummy can only be 1 if viol is 1 and in the previous 4 quarters viol is 0.
*
* 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/