Hello
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;
run;
proc freq data=MI;
tables
MI*randomisation_code/chisq;
run;
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 🙂
TIA
Mmignon
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.
Thank you very much for the shortcut 🙂
I found the solution by myself, but it's more elegant with your shortcut!
Sincerely
Mmignon
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.