Hi Commuinity,
I have a Vital Signs dataset below which I want to add a column to flag the differences of Systolic Blood Pressure from Baseline to 2 hours, 2 hours to 24 hours. 24 hours to 48 hours and 48 hours to Day 5 for every single patient in the dataset.
Any ideas?
Thank you
| Patient | Visit | Systolic Blood Pressure | Diastolic Blood Pressure |
| 1001 | Baseline | 146 | 82 |
| 1001 | hr2 | 119 | 59 |
| 1001 | hr24 | 133 | 71 |
| 1001 | hr48 | 102 | 51 |
| 1001 | D5 | 128 | 77 |
| 1002 | Baseline | 122 | 76 |
| 1002 | hr2 | 150 | 78 |
| 1002 | hr24 | 115 | 61 |
| 1002 | hr48 | 121 | 73 |
| 1002 | D5 | 142 | 85 |
| 1003 | Baseline | 102 | 59 |
| 1003 | hr2 | 110 | 77 |
| 1003 | hr24 | 111 | 58 |
| 1003 | hr48 | 124 | 78 |
| 1003 | D5 | 108 | 68 |
You want a sequence of differences between systolicbp{I}-systolicbp{i-1}, where i is the observations number. And for the first obs of each patient, you want the difference reset to missing.
Use the DIF function, which is defined as DIF(x)=x-lag(X).
data want;
set have;
by patient;
systolic_diff=dif(systolicbp);
if first.patient then systolic_diff=.;
run;
Edited addition: I should have added that this program assumes there are no "holes" in the data. I.e. each patient has a record for every time point, in sequence.
proc transform would be the tool I would use.
https://stats.idre.ucla.edu/sas/modules/how-to-reshape-data-long-to-wide-using-proc-transpose/
then evaluate the your client across your time progression of base, 2, 24, 48 and day5 by arraying the time intervals
You want a sequence of differences between systolicbp{I}-systolicbp{i-1}, where i is the observations number. And for the first obs of each patient, you want the difference reset to missing.
Use the DIF function, which is defined as DIF(x)=x-lag(X).
data want;
set have;
by patient;
systolic_diff=dif(systolicbp);
if first.patient then systolic_diff=.;
run;
Edited addition: I should have added that this program assumes there are no "holes" in the data. I.e. each patient has a record for every time point, in sequence.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.