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: RE: generating variable from combination of three categorical variable
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: RE: generating variable from combination of three categorical variable
Date
Thu, 19 May 2011 07:58:58 +0100
Your rules did not include what should happen in these situations, so
there is little surprise that the code does not work.
Why not start again and give the complete table of outputs for inputs
{0, 1, 2} X {0, 1, 2} X {0, 1, 2}?
Nick
On Thu, May 19, 2011 at 6:01 AM, prakash singh <[email protected]> wrote:
> Thanks Nick and Maria
>
> I was able to do till this point but got stuck when we have the situation
> see the cell arrangement for better understanding my problem
> var1 var2 var3 var4
> 1 2 1 2 (correct 3)
> 2 2 1 2 (correct 3)
> 1 1 2 2 (correct 3)
> 2 1 2 2 (correct 3)
> 0 2 2 3 (correct 2)
> 2 2 2 3 (correct 2)
>
>
> I have modified the commands also a bit
> gen var4 = max( var1, var2, var3)
> replace var4 = 3 if ( var1+ var2+ var3) >= 3 & var4!=1
> replace var4= max(var1, var2, var3) if var1==var2 & var1~=var3 |
> var1==var3 & var1~=var2
> but this is also not working perfect.
>
> Prakash
>
> On 5/18/11, Nick Cox <[email protected]> wrote:
>> Good catch.
>>
>> Nick
>>
>> On 18 May 2011, at 14:17, Maria Fleischmann <[email protected]
>> > wrote:
>>
>>> Shouldn't it be:
>>>
>>> gen var4 = max(var1, var2, var3)
>>> replace var4 = 3 if (var1 + var2 + var3) == 3 & var4!=1
>>>
>>> otherwise you subsitute var4=3 if var1, var2, and var3 are all equal
>>> to '1'
>>>
>>>
>>> Maria
>>>
>>> On 18 May 2011 14:37, Nick Cox <[email protected]> wrote:
>>>>
>>>> You have six rules, which I think can be collapsed to 4 in the
>>>> first instance.
>>>>
>>>> (a) var1==0 & var2==0 & var3==0,
>>>> (b) var4=1 if var1==1 & var2==1 & var3==1
>>>> (c) var4=2 if var1==2 & var2==2 & var3==2
>>>> (d) var4=1 if var1|var2|var3 is having 0 and 1 only
>>>> (e) var4=2 if var1|var2|var3 is having 0 and 2 only
>>>> (f) var4 is 3 if var1|var2|var3 is 0,1 and 2
>>>>
>>>> gen var4 = 0 if max(var1, var2, var3) == 0 (a)
>>>> replace var4 = 1 if max(var1, var2, var3) == 1 (b), (d)
>>>> replace var4 = 2 if max(var1, var2, var3) == 2 (c), (e)
>>>> replace var3 = 3 if (var1 + var1 + var2) == 3 (f)
>>>>
>>>> Now it is evident that you can simplify
>>>>
>>>> gen var4 = max(var1, var2, var3)
>>>> replace var3 = 3 if (var1 + var1 + var2) == 3
>>>>
>>>> Nick
>>>> [email protected]
>>>>
>>>> prakash singh
>>>>
>>>> In my survey data, I have three categorical variable with 0, 1 and
>>>> 2 as
>>>> three category.
>>>> Now I want to make a variable using combination of these three
>>>> variables.
>>>>
>>>> The combination is such that generated variable var4 == 0 if
>>>> var1==0 & var2==0 & var3==0,
>>>> var4=1 if var1==1 & var2==1 & var3==1,
>>>> var4=2 if var1==2 & var2==2 & var3==2,
>>>> var4=1 if var1|var2|var3 is having 0 and 1 only
>>>> var4=2 if var1|var2|var3 is having 0 and 2 only
>>>> var4 is 3 if var1|var2|var3 is 0,1 and 2
>>>>
>>>> for exmple (see below)
>>>>
>>>> var1 var2 var3 var4
>>>> 0 0 0 0
>>>> 1 1 1 1
>>>> 2 2 2 2
>>>> 0 1 2 3
>>>> 0 1 1 1
>>>> 1 2 0 3
>>>>
>>>> I am using stata10.
>>>>
*
* 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/