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.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.