DATA Step, Macro, Functions and more

Creating a IF statement to use all columns except

Reply
Contributor
Posts: 60

Creating a IF statement to use all columns except

Hi everyone,

 

I have a very wide data set. What I want is to create a variable that will indiciate the change from the baseline variable. 

 

What I would like is

If baseline is < any column except baseline and ID then change = Decrease

 

IDBaselineabcbcddsefewbewhgwhjgasdewrcsdasertChange
110......2...5.Decrease
2420....6.....Increase
322.......0..1Decrease
43352.........Increase
50000.........No Change

 

is that possible?

 

Thanks,

 

Super User
Posts: 9,611

Re: Creating a IF statement to use all columns except

Define an array over the variables in question.

But you need to review your logical rule. Per your rule as stated, ID's 2 and 4 should be labeled "Decrease".

 


hwangnyc wrote:

Hi everyone,

 

I have a very wide data set. What I want is to create a variable that will indiciate the change from the baseline variable. 

 

What I would like is

If baseline is < any column except baseline and ID then change = Decrease

 

ID Baseline abc bcd dse few bew hgw hjg asd ewr csd as ert Change
1 10 . . . . . . 2 . . . 5 . Decrease
2 4 2 0 . . . . 6 . . . . . Increase
3 2 2 . . . . . . . 0 . . 1 Decrease
4 3 3 5 2 . . . . . . . . . Increase
5 0 0 0 0 . . . . . . . . . No Change

 

is that possible?

 

Thanks,

 


 

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Super User
Posts: 22,874

Re: Creating a IF statement to use all columns except

Use MIN to find the lowest values across your variables.

Then compare that to the BASELINE to create your change variable.

 

lowest =min (of abc --ert);
if lowest <= baseline then change='Decrease';
else change='Increase';
Ask a Question
Discussion stats
  • 2 replies
  • 101 views
  • 0 likes
  • 3 in conversation