hey, iam new to sas , recently stuck to a problem.
i am trying to convert 0 to NO and 1 to YES for a variable but get fails every time . if plzz can anyone help me out , Thankyou.
Ideally you should post what you've tried so we can let you know where your having issues.
This is should be a straightforward if then.
If var=0 the new_var='Yes';
else if var=1 then new_var='No';
else new_var='Other';
The easiest way is to leave the original data alone but use a SAS format to associate 0->"NO" and 1->"YES". See the article
"Use SAS formats to bin variables":
data Have;
input Answer @@;
datalines;
0 0 1 1 1 0 1 0 1
;
proc format;
value YesNo
0 = "No"
1 = "Yes";
run;
proc freq data=Have;
format Answer YesNo.; /* assign YesNo format */
tables Answer;
run;
I'm going to guess that you tried something like:
if var=1 then var='yes';
This will not work because the variable VAR is numeric and can not hold character values.
To add to @Rick_SAS's suggestion: Formats are very flexible. You could have multiple formats that assign different values to 1/0 and use as needed. Such as True/False Answered/Not Answered. You could even provide more information such as "Has insurance"/"Does not have insurance", without adding any variable just using a different format for use in a procedure.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.