i want to subset my dataset by where multiple variables are equal to the number 1. I have been doing this by using the following code:
data want;
set have;
where group=1 or fish-=1 or net=1 or food=1;
run;
I was wandering if there was a shorter way to write this, as it would be much longer if there were a lot of variables. i.e something along the lines of writing all the variables out and only having to write one '=1' in the code.
Cheers
WHICHN()
where whichn(1, var1, var2, var3, ... );
If you can use IF instead variable lists can be used:
if whichn(1, of var:)>0;
WHICHN()
where whichn(1, var1, var2, var3, ... );
If you can use IF instead variable lists can be used:
if whichn(1, of var:)>0;
@BenBradyIf you wanna play:
data have;
a=1;
b=0;
c=0;
output;
a=0;
b=0;
c=0;
output;
run;
data want;
set have;
array n _numeric_;
if 1 in n;
run;
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!
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.