Hello,
I am working with a dataset where the Race Category was input rather oddly.
Essentially, I have 8 binary variables, Race_White, Race_Black, Race_Asian, etc.
For each variable the response is 0 if false or 1 if true.
I need to combine each of these variables into a single race category for analysis.
Essentially creating a variable of Race where 1=White, 2=Black, 3=Asian etc. from the binary variables.
So far I am striking out. it seems to me this should be an if then function but I seem to be missing something
Will the variables only be populated once? If so you could just do:
data want; set have; select (sum(of race_:)); when 1 then race="White"; when 2 then race=...; ... end; run;
If not then you would need to do each one, and cat the result:
data want; set have; array r{*} race_;; do i=1 to dim(r); if r{i}=1 then race=catx(',',race,vname(r{i}); end; race=tranwrd(race,"race_",""); run;
It's not odd. It's done this way to account for multiple entries, ie someone can flag both White and Black, and it's also how a regression model requires the variables for analysis - with the dummy coded values of 0/1. Make sure you need to change it first.
@DanielQuay wrote:
Hello,
I am working with a dataset where the Race Category was input rather oddly.
Essentially, I have 8 binary variables, Race_White, Race_Black, Race_Asian, etc.
For each variable the response is 0 if false or 1 if true.
I need to combine each of these variables into a single race category for analysis.
Essentially creating a variable of Race where 1=White, 2=Black, 3=Asian etc. from the binary variables.
So far I am striking out. it seems to me this should be an if then function but I seem to be missing something
Thanks for the assistance, though I figured out how to do it without using an array.
The issue I was having was a simple thing in my data statement.
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.