02-17-2018 10:08 AM
I am pretty much novice in SAS Enterprise Guide and I am facing a problem which I cannot resolve by myself.
I wrote this code:
data test_new; set test;
if a=1 or b=1 or c=1 then MI=1;
If MI=. or MI<1 then MI=0;
proc freq data=MI;
But when I run the code, I only get the table with MI=0.
Actually, I need the result for this:
if a=1 and/or b=1 and/or c=1 then MI=1; (at least two of the variables should mach together)
but cannot get it to work.
I hope some of you can help me with advice what to do, in a step-by-step manner
02-17-2018 10:26 AM - edited 02-17-2018 10:27 AM
First step, run a PROC FREQ on the variables a, b, and c to be sure that you actually have the values you expect. Your logic for creating MI depends on those, and looks like it should work.
A nice shortcut for the result you really want:
MI = (a + b + c) >= 2;
But that is dependent on the logic being right ... a, b, and c should be variables with values of 0 or 1 only.
02-23-2018 10:52 AM
Thank you very much for the shortcut
I found the solution by myself, but it's more elegant with your shortcut!