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?
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;
Make an array of the dummy variables and use whichn
Data want ;
Set have ;
outcome = max (anxiety, stress, multiple, etc1, etc2, etc3, etc4) ;
Run ;
Richard
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.