Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


[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 <scnakone@ucalgary.ca>
To   "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu>
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" <njcoxstata@gmail.com> 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)
> <jvverkuilen@gmail.com> 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 <brodysharon@yahoo.co.uk> 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/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index