One of the variables in my dataset has ICD-10 codes, and I am trying to calculate the cause-specific numbers of cancer deaths and cancer death rates. I've figured out a way to calculate the number of cancer deaths, but I am stumped on how to calculate deaths rates in one statement within the DATA step. I am only focused on the first three letters of each observation (e.g., "C10"), and I want to calculate it for different cancer types and used the SUBSTR statement. This is what my code looks like right now (I only did it for the first two cancer types and used this same structure for the remaining cancer types), and I want to know the best way to achieve this same result in one statement in a DATA step with all death rates rounded to 1 decimal place: DATA want; SET have; *Cancer Overall:; IF SUBSTR(cause,1,1)="C" THEN overall_cancer_deaths=1; ELSE IF SUBSTR(cause,1,1) ne "C" THEN overall_cancer_deaths=0; *Stomach: C16; IF SUBSTR(cause,1,3)="C16" THEN stomach_deaths=1; ELSE IF SUBSTR(cause,1,3) ne "C16" THEN stomach_deaths=0; RUN; DATA want; SET have; overall_rate=((overall_cancer_deaths=1)/(12,000,000*100,000)); stomach rate=((stomach_deaths=1)/(12,000,000*100,000)); RUN Any suggestions about how to achieve this in one statement in a DATA step is very much appreciated. Thanks in advance!
... View more