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,
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,
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';
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.