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.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.