08-10-2016 08:56 AM - last edited on 08-10-2016 09:14 AM by Reeza
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.
08-10-2016 09:15 AM
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';
08-10-2016 09:19 AM - edited 08-10-2016 09:20 AM
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
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;
08-10-2016 11:40 AM
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.