Hi, I am doing a nationwide study on causes of death among persons with a certain disease. In this study I would like to report age standardized mortality rates. To do this I am using proc stdrate (please see my coding below) data disease;
disease='Disease_yes';
input Age $ death personyear;
datalines;
01-05 0 456
06-10 2 4438
11-15 5 1238
16-20 18 10343
21-25 12 11911
26-30 59 22243
31-35 99 30461
36-40 73 14149
41-45 152 20922
46-49 211 22523;
run;
data non_disease;
disease='Disease_no';
input Age $ death personyear;
datalines;
01-05 425 3221118
06-10 321 3437579
11-15 435 3284323
16-20 1196 3006596
21-25 1434 3143418
26-30 1118 3562167
31-35 2631 3890100
36-40 1059 1166712
41-45 1922 1243489
46-49 2250 875898;
run;
data background;
input Age $ personyear;
datalines;
01-05 1332464
06-10 3431737
11-15 3293241
16-20 3004924
21-25 3159532
26-30 3584413
31-35 3920561
36-40 1180861
41-45 1264411
46-49 903471;
run;
data two_groups;
length disease $ 11.;
set disease non_disease;
run;
ods graphics on;
proc stdrate data=two_groups
refdata=background
method=direct
stat=rate(mult=100000)
effect=ratio
plots(only)=effect;
population group=disease event=Death total=PersonYear;
reference total=PersonYear;
strata Age / effect;
run;
ods graphics off; However when I do this, SAS gives me the ever beloved ‘ERROR: Floating Point Zero Divide. ERROR: Termination due to Floating Point Exception’ I know the sinner is the ‘0’ in the disease group age 01-05. However, what do I do to avoid this? Thanks in advance. /Jesper
... View more