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 Dummys from a variable with 5 categories
From
Steve Nakoneshny <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: Creating Dummys from a variable with 5 categories
Date
Sun, 2 Dec 2012 10:02:51 -0700
As an alternate approach, might it not make sense to create a series of indicators using -tab foo, g(bar)-?
Steve
Sent via carrier pigeon
On 2012-12-02, at 9:50 AM, "Nick Cox" <[email protected]> wrote:
> As Daniel Klein's posting also indicated, this procedure is a little
> risky and may give incorrect results if you have missing values.
> Usually you want missing values to be reflected by missing values in
> the indicator.
>
> A more general definition, which allows a one-line Stata solution, is
>
> gen <dummy> = cond(missing(<varname>), ., <expression>)
>
> when you want the <dummy> to be 1 if <expression> is true and 0 if it is false.
>
> For example
>
> gen flatfee = cond(missing(myvar), ., myvar == 1)
>
> gen nonflatfee = cond(missing(myvar), ., myvar == 0)
>
> As said, you may know that you want missing values to imply 1 or 0 for
> your indicator, in which case you can supply the appropriate answer in
> place of . (system missing).
>
> Here and elsewhere, I recommend the term "indicator" over "dummy". I
> have heard too many stories in which "dummy" was misinterpreted as
> implying disparagement, insult or offence, but no such stories about
> "indicator".
>
> Nick
>
> On Sun, Dec 2, 2012 at 3:53 PM, JVerkuilen (Gmail)
> <[email protected]> wrote:
>> Your question isn't quite specified to be answerable but here's a
>> quick way to make a dummy variable that has value 1 for flat fee and 0
>> for any other value of myvar:
>>
>> generate flatfee = 1
>> replace flatfee = 0 if myvar != 1
>>
>> What this syntax does is (a) make a variable flatfee that has 1
>> everywhere and (b) change all values for which myvar does not indicate
>> a flat fee to 0. You could also
>>
>> generate flatfee = 0
>> replace flatfee = 1 if myvar = 1
>>
>> which is the opposite process, as it changes the 0s to 1s where flat
>> fee is applicable. This seems more natural than coding flat fee the 0
>> and all other methods 1, but if you want the other way around
>>
>> generate nonflatfee = 1 - flatfee
>>
>> Try these and then check your work by
>>
>> tabulate flatfee myvar
>>
>> which is always a good idea whenever you're recoding variables. You
>> should see a 2x5 table that has the counts all in the right place.
>>
>>
>> On Sun, Dec 2, 2012 at 3:27 AM, Sharon Brody <[email protected]> wrote:
>
>>> I have a variable with 5 answers and need to make a dummy variable from it
>>>
>>> The question asked - How are you charged for your waste:
>>> 1. Flat Fee
>>> 2. Weight or Volume
>>> 3. Frequency
>>> 4. Not Charged
>>> 5. Dont Know
>>>
>>> If I want to create a dummy variable that uses Flat Fee as a reference point
>>>
>>> 1. How do I create a dummy (I have tried the basic way - gen XXXX =1 replace XXXX=0 if YYYY=>2) but I believe this is incorrect as it doesnt incorporate all the variables.
>>>
>>> 2. How do I get Stata 12 to use "Flat Fee" as the reference base point
>>>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/faqs/resources/statalist-faq/
> * http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/