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: RE: generating variable from combination of three categorical variable


From   Nick Cox <njcoxstata@gmail.com>
To   "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu>
Subject   Re: st: RE: generating variable from combination of three categorical variable
Date   Wed, 18 May 2011 15:27:23 +0100

Good catch.

Nick

On 18 May 2011, at 14:17, Maria Fleischmann <maria.s.fleischmann@gmail.com > 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 <n.j.cox@durham.ac.uk> 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
n.j.cox@durham.ac.uk

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/

*
*   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/
*
*   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/


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