Multiple dummy variables to one dummy variable

Reply
Contributor
Posts: 25

Multiple dummy variables to one dummy variable

I've asked this question in a similar manner in a previous post- but I wanted to clarify what I was asking. I currently have about 7 dummy variables all pertaining to psychological outcome (anxiety, stress, multiple personalities, etc) coded as 1=yes and 0=no. I would like to collapse all of these variables into one "psych condition" variable with 1=yes and 0=no. The variable would get a value of 1 if any of the 7 psychological outcomes had a value of 1. I've tried coding it a few different ways, but every time I overwrite the previous value and end up with every observation having a value of zero. Is there an easier way to do this?

Trusted Advisor
Posts: 1,203

Re: Multiple dummy variables to one dummy variable

data want;

set have;

psychological_outcomes=0;

if anxiety=1 or stress=1 or personalities=1 or var4=1 or var5=1 or var6=1 or var7=1 then psychological_outcomes=1;

run;

Respected Advisor
Posts: 3,775

Re: Multiple dummy variables to one dummy variable

Make an array of the dummy variables and use whichn

data code;
   array v[3] 8;
  
input (v
  • )(
  • 1.);
       new = not not whichn(1,of v
  • );
  •    cards;
    000
    001
    010
    011
    100
    101
    110
    111
    ;;;;
       run;
    proc print;
      
    run;
    Super Contributor
    Posts: 644

    Re: Multiple dummy variables to one dummy variable

    Data want ;

         Set have ;

         outcome = max (anxiety, stress, multiple, etc1, etc2, etc3, etc4) ;

    Run ;

    Richard

    Ask a Question
    Discussion stats
    • 3 replies
    • 187 views
    • 0 likes
    • 4 in conversation