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.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.