jackahall
jackahall

Reputation: 490

SAS: apply statement over multiple columns

I have a dataset with one id column and three variables:

data have;
    input id var1 var2 var3;
    datalines;
    1 0 1 0
    2 1 1 0
    3 0 0 2
    4 0 4 1
    ;
run;

I want to use some osrt or data or proc sql step over var1 to var3 to keep as 0 if it is 0, and 1 if it is greater than 0. It should ideally use an array var1 -- var3 as the actual dataset has many more variables.

Upvotes: 1

Views: 536

Answers (1)

PeterClemmensen
PeterClemmensen

Reputation: 4937

Try this

data have;
    input id var1 var2 var3;
    datalines;
    1 0 1 0
    2 1 1 0
    3 0 0 2
    4 0 4 1
    ;
run;

data want;
   set have;
   array v var1 -- var3;

   do over v;
      v = v > 0;
   end;
run;

Upvotes: 2

Related Questions