Hello programmers,
I wanted to create a dichotomous 0, 1 variable for CVD death. If the cause of death is between codes '410' and '41499' then the person has CVD death.
My codes are attached.
data xyz;
input id death $ ;
datalines;
1 195
19 414
26 431
27 414
29 414
40 414
; run;
data abc; set xyz;
if death = '410' then Dix= 1;
if death= '411' then Dix=1;
If death= '412' then Dix=1;
If death= '413' then Dix=1;
If death='414' then Dix=1;
else Dix=0; RUN;
This code worked because i checked the CVD codes to see that there were only codes '410' '411' '412' '413' and '414'. Sometimes there may be '41099' '41080' '41499' etc . Is there a better way i could write this code so that it checks every code without me having to do it in this pattern?
Thanks
Dix = (death in: ('410','411','412','413','414'));
Dix = (death in: ('410','411','412','413','414'));
See http://support.sas.com/resources/papers/proceedings09/056-2009.pdf for more details.
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.